diff options
Diffstat (limited to 'meta-phosphor')
138 files changed, 1402 insertions, 600 deletions
diff --git a/meta-phosphor/aspeed-layer/recipes-connectivity/jsnbd/jsnbd/state_hook b/meta-phosphor/aspeed-layer/recipes-connectivity/jsnbd/jsnbd/state_hook index 0df6ff973..3f5a974b9 100755 --- a/meta-phosphor/aspeed-layer/recipes-connectivity/jsnbd/jsnbd/state_hook +++ b/meta-phosphor/aspeed-layer/recipes-connectivity/jsnbd/jsnbd/state_hook @@ -16,6 +16,9 @@ case "$config" in 0) nbd_device=/dev/nbd0 ;; +1) + nbd_device=/dev/nbd1 + ;; *) echo "invalid config $config" >&2 exit 1 diff --git a/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed/phosphor-wdt-on-panic.cfg b/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed/phosphor-wdt-on-panic.cfg deleted file mode 100644 index 329b4df4b..000000000 --- a/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed/phosphor-wdt-on-panic.cfg +++ /dev/null @@ -1,2 +0,0 @@ -CONFIG_PANIC_ON_OOPS=y -CONFIG_PANIC_TIMEOUT=0 diff --git a/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed/phosphor-wdt-on-panic.scc b/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed/phosphor-wdt-on-panic.scc deleted file mode 100644 index 7fc650799..000000000 --- a/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed/phosphor-wdt-on-panic.scc +++ /dev/null @@ -1,2 +0,0 @@ -define KFEATURE_DESCRIPTION "Require watchdog to reset SoC on panic" -kconf non-hardware phosphor-wdt-on-panic.cfg diff --git a/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed_%.bbappend b/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed_%.bbappend index ea70a4fe8..7401a1895 100644 --- a/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed_%.bbappend +++ b/meta-phosphor/aspeed-layer/recipes-kernel/linux/linux-aspeed_%.bbappend @@ -4,8 +4,10 @@ SRC_URI += "file://phosphor-gpio-keys.scc" SRC_URI += "file://phosphor-gpio-keys.cfg" SRC_URI += "file://phosphor-vlan.scc" SRC_URI += "file://phosphor-vlan.cfg" -SRC_URI += "file://phosphor-wdt-on-panic.scc" -SRC_URI += "file://phosphor-wdt-on-panic.cfg" KERNEL_FEATURES_append = " phosphor-vlan" KERNEL_FEATURES_remove_qemuall = " phosphor-vlan" + +# OpenBMC loads in kernel features via other mechanisms so this check +# in the kernel-yocto.bbclass is not required +KERNEL_DANGLING_FEATURES_WARN_ONLY="1" diff --git a/meta-phosphor/classes/image_types_phosphor.bbclass b/meta-phosphor/classes/image_types_phosphor.bbclass index 8f92f7045..e4663471c 100644 --- a/meta-phosphor/classes/image_types_phosphor.bbclass +++ b/meta-phosphor/classes/image_types_phosphor.bbclass @@ -19,19 +19,15 @@ FLASH_UBI_OVERLAY_BASETYPE ?= "ubifs" FLASH_EXT4_BASETYPE ?= "ext4" FLASH_EXT4_OVERLAY_BASETYPE ?= "ext4" -IMAGE_TYPES += "mtd-static mtd-static-alltar mtd-static-tar mtd-ubi mtd-ubi-tar mmc-verity mmc-ext4-tar" +IMAGE_TYPES += "mtd-static mtd-static-alltar mtd-static-tar mtd-ubi mtd-ubi-tar mmc-ext4-tar" IMAGE_TYPEDEP_mtd-static = "${IMAGE_BASETYPE}" IMAGE_TYPEDEP_mtd-static-tar = "${IMAGE_BASETYPE}" IMAGE_TYPEDEP_mtd-static-alltar = "mtd-static" IMAGE_TYPEDEP_mtd-ubi = "${FLASH_UBI_BASETYPE}" IMAGE_TYPEDEP_mtd-ubi-tar = "${FLASH_UBI_BASETYPE}" -IMAGE_TYPEDEP_mmc-verity = "${FLASH_EXT4_BASETYPE}" IMAGE_TYPEDEP_mmc-ext4-tar = "${FLASH_EXT4_BASETYPE}" -IMAGE_TYPES_MASKED += "mtd-static mtd-static-alltar mtd-static-tar mtd-ubi mtd-ubi-tar mmc-verity mmc-ext4-tar" - -IMAGE_BLOCK_SIZE ?= "4096" -EXTRA_IMAGECMD_ext4 = "-b ${IMAGE_BLOCK_SIZE}" +IMAGE_TYPES_MASKED += "mtd-static mtd-static-alltar mtd-static-tar mtd-ubi mtd-ubi-tar mmc-ext4-tar" # Flash characteristics in KB unless otherwise noted DISTROOVERRIDES .= ":flash-${FLASH_SIZE}" @@ -58,6 +54,10 @@ FLASH_UBI_RWFS_SIZE_flash-131072 ?= "32768" FLASH_UBI_RWFS_TXT_SIZE ?= "6MiB" FLASH_UBI_RWFS_TXT_SIZE_flash-131072 ?= "32MiB" +# eMMC sizes in KB unless otherwise noted. +MMC_UBOOT_SIZE ?= "1024" +MMC_BOOT_PARTITION_SIZE ?= "65536" + SIGNING_KEY ?= "${STAGING_DIR_NATIVE}${datadir}/OpenBMC.priv" INSECURE_KEY = "${@'${SIGNING_KEY}' == '${STAGING_DIR_NATIVE}${datadir}/OpenBMC.priv'}" SIGNING_KEY_DEPENDS = "${@oe.utils.conditional('INSECURE_KEY', 'True', 'phosphor-insecure-signing-key-native:do_populate_sysroot', '', d)}" @@ -105,6 +105,12 @@ mk_empty_image() { | tr '\000' '\377' > $image_dst } +mk_empty_image_zeros() { + image_dst="$1" + image_size_kb=$2 + dd if=/dev/zero of=$image_dst bs=1k count=$image_size_kb +} + clean_rwfs() { type=$1 shift @@ -182,7 +188,7 @@ do_generate_ubi[dirs] = "${S}/ubi" do_generate_ubi[depends] += " \ ${PN}:do_image_${@d.getVar('FLASH_UBI_BASETYPE', True).replace('-', '_')} \ virtual/kernel:do_deploy \ - u-boot:do_populate_sysroot \ + u-boot:do_deploy \ mtd-utils-native:do_populate_sysroot \ " @@ -217,99 +223,10 @@ do_make_ubi[dirs] = "${S}/ubi" do_make_ubi[depends] += " \ ${PN}:do_image_${@d.getVar('FLASH_UBI_BASETYPE', True).replace('-', '_')} \ virtual/kernel:do_deploy \ - u-boot:do_populate_sysroot \ + u-boot:do_deploy \ mtd-utils-native:do_populate_sysroot \ " -python do_generate_mmc_verity() { - import os - import subprocess - - rootfs_image = os.path.join(d.getVar('IMGDEPLOYDIR', True), - '%s.%s' % ( - d.getVar('IMAGE_LINK_NAME', True), - d.getVar('FLASH_EXT4_BASETYPE', True))) - - verity_image = 'verity-%s.%s' % ( - d.getVar('IMAGE_LINK_NAME', True), - d.getVar('FLASH_EXT4_BASETYPE', True)) - - subprocess.check_call(['dd', - 'if=%s' % rootfs_image, - 'of=%s' % verity_image]) - - # dm-verity values - sector_size = 512 - block_size = int(d.getVar('IMAGE_BLOCK_SIZE', True)) - verity_algo = "sha256" - rootfs_image_size = os.stat(rootfs_image).st_size - - def align_up(number, boundary): - return ((number + (boundary - 1)) // boundary) * boundary - - # verity metadata must be aligned on the block boundary subsequent to the - # end of the data - verity_hash_offset = align_up(rootfs_image_size, block_size) - - verity_hash_blocks = verity_hash_offset // block_size - - # the output of 'veritysetup format' looks like: - # VERITY header information for obmc-phosphor-image-witherspoon.squashfs-xz - # UUID: 269b5934-de5b-45b0-99a3-56b219a7b544 - # Hash type: 1 - # Data blocks: 4523 - # Data block size: 4096 - # Hash block size: 4096 - # Hash algorithm: sha256 - # Salt: 8fca9eff342fc0cf2964057257ea80813a223cb2e540a38458142edeb190e12e - # Root hash: 38ef00d23fa89300dcf66e7494d25246d03bf846b4119b34e7b1587c0b6fe1d9 - verity_hash_file = "verity-hash-verification-data" - with open(verity_hash_file, 'w') as f: - subprocess.check_call(['veritysetup', - 'format', - '--hash=%s'% verity_algo, - '--data-block-size=%i' % block_size, - '--hash-block-size=%i' % block_size, - '--hash-offset=%i' % verity_hash_offset, - '%s' % verity_image, - '%s' % verity_image], stdout=f, stderr=f) - - for line in open(verity_hash_file, "r"): - if "Salt" in line: - verity_salt = line.split()[-1] - if "Root" in line: - verity_root = line.split()[-1] - - verity_image_size = os.stat(verity_image).st_size - - # Make an appropriately sized image for MMC - mmc_image_name = "%s.mmc" % d.getVar('IMAGE_NAME', True) - mmc_image_path = os.path.join(d.getVar('IMGDEPLOYDIR', True), - '%s' % mmc_image_name) - - # CSD size accommodates MMC limitations that are relevant to QEMU - csd_size = (1 << (9 + 9 - 1 + 2)) - - with open(mmc_image_path, 'w') as fd: - os.posix_fallocate(fd.fileno(), 0, align_up(verity_image_size, csd_size)) - subprocess.check_call(['dd', - 'if=%s' % verity_image, - 'of=%s' % mmc_image_path, - 'conv=notrunc']) - - os.chdir("%s" % d.getVar('IMGDEPLOYDIR', True)) - mmc_link_name = os.path.join(d.getVar('IMGDEPLOYDIR', True), - '%s.mmc' % d.getVar('IMAGE_LINK_NAME', True)) - if os.path.lexists(mmc_link_name): - os.remove(mmc_link_name) - os.symlink(mmc_image_name, mmc_link_name) -} -do_generate_mmc_verity[dirs] = "${S}/mmc" -do_generate_mmc_verity[depends] += " \ - ${PN}:do_image_${FLASH_EXT4_BASETYPE} \ - cryptsetup-native:do_populate_sysroot \ - " - do_mk_static_nor_image() { # Assemble the flash image mk_empty_image ${IMGDEPLOYDIR}/${IMAGE_NAME}.static.mtd ${FLASH_SIZE} @@ -406,7 +323,7 @@ do_generate_static[dirs] = "${S}/static" do_generate_static[depends] += " \ ${PN}:do_image_${@d.getVar('IMAGE_BASETYPE', True).replace('-', '_')} \ virtual/kernel:do_deploy \ - u-boot:do_populate_sysroot \ + u-boot:do_deploy \ " make_signatures() { @@ -487,7 +404,7 @@ do_generate_static_tar[dirs] = " ${S}/static" do_generate_static_tar[depends] += " \ ${PN}:do_image_${@d.getVar('IMAGE_BASETYPE', True).replace('-', '_')} \ virtual/kernel:do_deploy \ - u-boot:do_populate_sysroot \ + u-boot:do_deploy \ openssl-native:do_populate_sysroot \ ${SIGNING_KEY_DEPENDS} \ ${PN}:do_copy_signing_pubkey \ @@ -505,29 +422,56 @@ do_generate_ubi_tar[dirs] = " ${S}/ubi" do_generate_ubi_tar[depends] += " \ ${PN}:do_image_${@d.getVar('FLASH_UBI_BASETYPE', True).replace('-', '_')} \ virtual/kernel:do_deploy \ - u-boot:do_populate_sysroot \ + u-boot:do_deploy \ openssl-native:do_populate_sysroot \ ${SIGNING_KEY_DEPENDS} \ ${PN}:do_copy_signing_pubkey \ " do_generate_ext4_tar() { - zstd -f -k -T0 -c ${ZSTD_COMPRESSION_LEVEL} ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${FLASH_EXT4_BASETYPE} > ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${FLASH_EXT4_BASETYPE}.zst + # Generate the U-Boot image + mk_empty_image_zeros image-u-boot ${MMC_UBOOT_SIZE} + do_generate_image_uboot_file image-u-boot + + # Generate a compressed ext4 filesystem with the fitImage file in it to be + # flashed to the boot partition of the eMMC + install -d boot-image + install -m 644 ${DEPLOY_DIR_IMAGE}/${FLASH_KERNEL_IMAGE} boot-image/fitImage + mk_empty_image_zeros boot-image.${FLASH_EXT4_BASETYPE} ${MMC_BOOT_PARTITION_SIZE} + mkfs.ext4 -F -i 4096 -d boot-image boot-image.${FLASH_EXT4_BASETYPE} + # Error codes 0-3 indicate successfull operation of fsck + fsck.ext4 -pvfD boot-image.${FLASH_EXT4_BASETYPE} || [ $? -le 3 ] + zstd -f -k -T0 -c ${ZSTD_COMPRESSION_LEVEL} boot-image.${FLASH_EXT4_BASETYPE} > boot-image.${FLASH_EXT4_BASETYPE}.zst + + # Generate the compressed ext4 rootfs + zstd -f -k -T0 -c ${ZSTD_COMPRESSION_LEVEL} ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${FLASH_EXT4_BASETYPE} > ${IMAGE_LINK_NAME}.${FLASH_EXT4_BASETYPE}.zst + + ln -sf boot-image.${FLASH_EXT4_BASETYPE}.zst image-kernel + ln -sf ${IMAGE_LINK_NAME}.${FLASH_EXT4_BASETYPE}.zst image-rofs + ln -sf ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.rwfs.${FLASH_EXT4_OVERLAY_BASETYPE} image-rwfs ln -sf ${S}/MANIFEST MANIFEST ln -sf ${S}/publickey publickey - make_image_links rwfs.${FLASH_EXT4_OVERLAY_BASETYPE} ${FLASH_EXT4_BASETYPE}.zst - make_signatures image-u-boot image-kernel image-rofs image-rwfs MANIFEST publickey - make_tar_of_images ext4.mmc MANIFEST publickey ${signature_files} + + hostfw_update_file="${DEPLOY_DIR_IMAGE}/hostfw/update/image-hostfw" + if [ -e "${hostfw_update_file}" ]; then + ln -sf "${hostfw_update_file}" image-hostfw + make_signatures image-u-boot image-kernel image-rofs image-rwfs MANIFEST publickey image-hostfw + make_tar_of_images ext4.mmc MANIFEST publickey ${signature_files} image-hostfw + else + make_signatures image-u-boot image-kernel image-rofs image-rwfs MANIFEST publickey + make_tar_of_images ext4.mmc MANIFEST publickey ${signature_files} + fi } do_generate_ext4_tar[dirs] = " ${S}/ext4" do_generate_ext4_tar[depends] += " \ zstd-native:do_populate_sysroot \ ${PN}:do_image_${FLASH_EXT4_BASETYPE} \ virtual/kernel:do_deploy \ - u-boot:do_populate_sysroot \ + u-boot:do_deploy \ openssl-native:do_populate_sysroot \ ${SIGNING_KEY_DEPENDS} \ ${PN}:do_copy_signing_pubkey \ + phosphor-hostfw-image:do_deploy \ " def get_pubkey_basedir(d): @@ -609,10 +553,6 @@ python() { 'do_image_complete', 'do_generate_rwfs_ubi do_generate_phosphor_manifest', d) - if 'mmc-verity' in types: - bb.build.addtask( - 'do_generate_mmc_verity', - 'do_image_complete','', d) if 'mmc-ext4-tar' in types: bb.build.addtask( 'do_generate_ext4_tar', diff --git a/meta-phosphor/classes/obmc-phosphor-c-daemon.bbclass b/meta-phosphor/classes/obmc-phosphor-c-daemon.bbclass deleted file mode 100644 index ded11d8cd..000000000 --- a/meta-phosphor/classes/obmc-phosphor-c-daemon.bbclass +++ /dev/null @@ -1,13 +0,0 @@ -# Common code for dbus applications using c. -inherit obmc-phosphor-systemd - -DEPENDS += "glib-2.0" - -INSTALL_NAME ?= "${PN}" -BIN_NAME ?= "${INSTALL_NAME}" - -do_install_append() { - # install the binary - install -d ${D}${sbindir} - install -m 0755 ${S}/${BIN_NAME} ${D}${sbindir}/${INSTALL_NAME} -} diff --git a/meta-phosphor/classes/obmc-phosphor-discovery-service.bbclass b/meta-phosphor/classes/obmc-phosphor-discovery-service.bbclass index e912beadc..48760f3db 100644 --- a/meta-phosphor/classes/obmc-phosphor-discovery-service.bbclass +++ b/meta-phosphor/classes/obmc-phosphor-discovery-service.bbclass @@ -72,7 +72,8 @@ python discovery_services_postinstall() { fd.write('<?xml version="1.0" ?>\n') fd.write('<!DOCTYPE service-group SYSTEM "avahi-service.dtd">\n') fd.write('<service-group>\n') - fd.write(' <name>%s</name>\n' % service_name) + fd.write(' <name replace-wildcards="yes">%s on %%h</name>\n' + % service_name) fd.write(' <service>\n') fd.write(' <type>%s</type>\n' % service_type) fd.write(' <port>%s</port>\n' % service_port) diff --git a/meta-phosphor/classes/obmc-phosphor-image.bbclass b/meta-phosphor/classes/obmc-phosphor-image.bbclass index 6e13a6520..b2d3b5ef3 100644 --- a/meta-phosphor/classes/obmc-phosphor-image.bbclass +++ b/meta-phosphor/classes/obmc-phosphor-image.bbclass @@ -3,116 +3,98 @@ # Additional IMAGE_FEATURES available with Phosphor OpenBMC: # # - obmc-bmc-state-mgmt - OpenBMC BMC state management +# - obmc-bmcweb - OpenBMC webserver # - obmc-chassis-mgmt - OpenBMC chassis management # - obmc-chassis-state-mgmt - OpenBMC chassis state management +# - obmc-console - OpenBMC serial over LAN +# - obmc-dbus-monitor - OpenBMC dbus monitoring +# - obmc-devtools - OpenBMC development and debugging tools # - obmc-fan-control - OpenBMC fan management # - obmc-fan-mgmt - Deprecated - use obmc-fan-control instead # - obmc-flash-mgmt - OpenBMC flash management +# - obmc-fru-ipmi - OpenBMC IPMI FRU EEPROM support +# - obmc-health-monitor - OpenBMC health monitoring # - obmc-host-ctl - OpenBMC host control # - obmc-host-ipmi - OpenBMC host IPMI # - obmc-host-state-mgmt - OpenBMC host state management +# - obmc-ikvm - OpenBMC KVM over IP # - obmc-inventory - OpenBMC inventory support # - obmc-leds - OpenBMC LED support # - obmc-logging-mgmt - OpenBMC logging management # - obmc-remote-logging-mgmt - OpenBMC remote logging management +# - obmc-rng - OpenBMC random number generator # - obmc-sensors - OpenBMC sensor support # - obmc-settings-mgmt - OpenBMC settings management # - obmc-software - OpenBMC software management # - obmc-system-mgmt - OpenBMC system management # - obmc-user-mgmt - OpenBMC user management +# - obmc-user-mgmt-ldap - OpenBMC LDAP users # - obmc-debug-collector - OpenBMC debug collector inherit core-image inherit obmc-phosphor-utils - -LICENSE = "Apache-2.0" +inherit phosphor-deploy-ssh-keys FEATURE_PACKAGES_obmc-bmc-state-mgmt ?= "packagegroup-obmc-apps-bmc-state-mgmt" -FEATURE_PACKAGES_obmc-chassis-mgmt ?= "${@cf_enabled(d, 'obmc-phosphor-chassis-mgmt', 'virtual-obmc-chassis-mgmt')}" +FEATURE_PACKAGES_obmc-bmcweb ?= "packagegroup-obmc-apps-bmcweb" +FEATURE_PACKAGES_obmc-chassis-mgmt ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-phosphor-chassis-mgmt', 'virtual-obmc-chassis-mgmt', '', d)}" FEATURE_PACKAGES_obmc-chassis-state-mgmt ?= "packagegroup-obmc-apps-chassis-state-mgmt" +FEATURE_PACKAGES_obmc-console ?= "packagegroup-obmc-apps-console" +FEATURE_PACKAGES_obmc-dbus-monitor ?= "packagegroup-obmc-apps-dbus-monitor" +FEATURE_PACKAGES_obmc-devtools ?= "packagegroup-obmc-apps-devtools" FEATURE_PACKAGES_obmc-fan-control ?= "packagegroup-obmc-apps-fan-control" -FEATURE_PACKAGES_obmc-fan-mgmt ?= "${@cf_enabled(d, 'obmc-phosphor-fan-mgmt', 'virtual-obmc-fan-mgmt')}" -FEATURE_PACKAGES_obmc-flash-mgmt ?= "${@cf_enabled(d, 'obmc-phosphor-flash-mgmt', 'virtual-obmc-flash-mgmt')}" -FEATURE_PACKAGES_obmc-host-ctl ?= "${@cf_enabled(d, 'obmc-host-ctl', 'virtual-obmc-host-ctl')}" -FEATURE_PACKAGES_obmc-host-ipmi ?= "${@cf_enabled(d, 'obmc-host-ipmi', 'virtual-obmc-host-ipmi-hw')}" +FEATURE_PACKAGES_obmc-fan-mgmt ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-phosphor-fan-mgmt', 'virtual-obmc-fan-mgmt', '', d)}" +FEATURE_PACKAGES_obmc-flash-mgmt ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-phosphor-flash-mgmt', 'virtual-obmc-flash-mgmt', '', d)}" +FEATURE_PACKAGES_obmc-fru-ipmi ?= "packagegroup-obmc-apps-fru-ipmi" +FEATURE_PACKAGES_obmc-health-monitor ?= "packagegroup-obmc-apps-health-monitor" +FEATURE_PACKAGES_obmc-host-ctl ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-host-ctl', 'virtual-obmc-host-ctl', '', d)}" +FEATURE_PACKAGES_obmc-host-ipmi ?= "${@bb.utils.contains('COMBINED_FEATURES', 'obmc-host-ipmi', 'virtual-obmc-host-ipmi-hw', '', d)}" FEATURE_PACKAGES_obmc-host-state-mgmt ?= "packagegroup-obmc-apps-host-state-mgmt" +FEATURE_PACKAGES_obmc-ikvm ?= "packagegroup-obmc-apps-ikvm" FEATURE_PACKAGES_obmc-inventory ?= "packagegroup-obmc-apps-inventory" FEATURE_PACKAGES_obmc-leds ?= "packagegroup-obmc-apps-leds" FEATURE_PACKAGES_obmc-logging-mgmt ?= "packagegroup-obmc-apps-logging" FEATURE_PACKAGES_obmc-remote-logging-mgmt ?= "packagegroup-obmc-apps-remote-logging" +FEATURE_PACKAGES_obmc-rng ?= "packagegroup-obmc-apps-rng" FEATURE_PACKAGES_obmc-net-ipmi ?= "phosphor-ipmi-net" FEATURE_PACKAGES_obmc-sensors ?= "packagegroup-obmc-apps-sensors" FEATURE_PACKAGES_obmc-software ?= "packagegroup-obmc-apps-software" -FEATURE_PACKAGES_obmc-system-mgmt ?= "${@df_enabled(d, 'obmc-phosphor-system-mgmt', 'virtual-obmc-system-mgmt')}" +FEATURE_PACKAGES_obmc-system-mgmt ?= "${@bb.utils.contains('DISTRO_FEATURES', 'obmc-phosphor-system-mgmt', 'virtual-obmc-system-mgmt', '', d)}" FEATURE_PACKAGES_obmc-debug-collector ?= "packagegroup-obmc-apps-debug-collector" FEATURE_PACKAGES_obmc-settings-mgmt ?= "packagegroup-obmc-apps-settings" FEATURE_PACKAGES_obmc-network-mgmt ?= "packagegroup-obmc-apps-network" FEATURE_PACKAGES_obmc-user-mgmt ?= "packagegroup-obmc-apps-user-mgmt" +FEATURE_PACKAGES_obmc-user-mgmt-ldap ?= "packagegroup-obmc-apps-user-mgmt-ldap" # FIXME: phosphor-net-ipmi depends on phosphor-ipmi-host !?!? and # cannot be built on core-qemu machines because of the dependency # tree under phosphor-ipmi-host FEATURE_PACKAGES_obmc-net-ipmi_qemuall = "" -# Install entire Phosphor application stack by default -IMAGE_FEATURES += " \ - obmc-bmc-state-mgmt \ - obmc-chassis-mgmt \ - obmc-chassis-state-mgmt \ - obmc-fan-control \ - obmc-fan-mgmt \ - obmc-flash-mgmt \ - obmc-host-ctl \ - obmc-host-ipmi \ - obmc-host-state-mgmt \ - obmc-inventory \ - obmc-leds \ - obmc-logging-mgmt \ - obmc-remote-logging-mgmt \ - obmc-net-ipmi \ - obmc-sensors \ - obmc-software \ - obmc-system-mgmt \ - obmc-user-mgmt \ - ssh-server-dropbear \ - obmc-debug-collector \ - obmc-network-mgmt \ - obmc-settings-mgmt \ - " - -IMAGE_FEATURES_append_df-obmc-ubi-fs = " read-only-rootfs" - -CORE_IMAGE_EXTRA_INSTALL_append = " bash \ +# Add new packages to be installed to a package group in +# packagegroup-obmc-apps, not here. +OBMC_IMAGE_BASE_INSTALL = " \ packagegroup-obmc-apps-extras \ - packagegroup-obmc-apps-extrasdevtools \ - i2c-tools \ - obmc-console \ - pam-plugin-access \ - pam-ipmi \ ${OBMC_IMAGE_EXTRA_INSTALL} \ - ffdc \ - rsync \ - rng-tools \ - lrzsz \ " OBMC_IMAGE_EXTRA_INSTALL ?= "" -# The /etc/version file is misleading and not useful. Remove it. -# Users should instead rely on /etc/os-release. +CORE_IMAGE_EXTRA_INSTALL += "${OBMC_IMAGE_BASE_INSTALL}" + remove_etc_version() { rm ${IMAGE_ROOTFS}${sysconfdir}/version } -ROOTFS_POSTPROCESS_COMMAND += "remove_etc_version ; " -# Disable the pager to prevent systemd injecting control characters into the -# output stream that are not interpreted by busybox tools. disable_systemd_pager() { echo "SYSTEMD_PAGER=" >> ${IMAGE_ROOTFS}${sysconfdir}/profile echo "export SYSTEMD_PAGER" >> ${IMAGE_ROOTFS}${sysconfdir}/profile } -ROOTFS_POSTPROCESS_COMMAND += "disable_systemd_pager ; " -# The shadow recipe provides the binaries(like useradd, usermod) needed by the -# phosphor-user-manager. -ROOTFS_RO_UNNEEDED_remove = "shadow" +enable_ldap_nsswitch() { + sed -i 's/\(\(passwd\|group\|shadow\):\s*\).*/\1files ldap/' \ + "${IMAGE_ROOTFS}${sysconfdir}/nsswitch.conf" +} + +ROOTFS_POSTPROCESS_COMMAND += "${@bb.utils.contains('IMAGE_FEATURES', 'obmc-user-mgmt-ldap', 'enable_ldap_nsswitch ;', '', d)}" + diff --git a/meta-phosphor/classes/obmc-phosphor-utils.bbclass b/meta-phosphor/classes/obmc-phosphor-utils.bbclass index 04db8bcd0..a8f7175df 100644 --- a/meta-phosphor/classes/obmc-phosphor-utils.bbclass +++ b/meta-phosphor/classes/obmc-phosphor-utils.bbclass @@ -1,19 +1,3 @@ -# Helper functions for checking feature variables. - -def df_enabled(d, feature, truevalue, falsevalue=""): - return bb.utils.contains("DISTRO_FEATURES", feature, truevalue, falsevalue, d) - - -def mf_enabled(d, feature, truevalue, falsevalue=""): - return bb.utils.contains("MACHINE_FEATURES", feature, truevalue, falsevalue, d) - - -def cf_enabled(d, feature, truevalue, falsevalue=""): - return truevalue if df_enabled(d, feature, truevalue) \ - and mf_enabled(d, feature, truevalue) \ - else falsevalue - - def set_append(d, var, val, sep=' '): values = (d.getVar(var, True) or '').split(sep) if filter(bool, values): @@ -39,11 +23,3 @@ def compose_list_zip(d, fmtvar, *listvars, **kw): lists = [listvar_to_list(d, x) for x in listvars] lst = [fmt.format(*x) for x in zip(*lists)] return (kw.get('sep') or ' ').join(lst) - - -def append_suffix(val, suffix): - words = val.split(' ') - newval = [] - for w in words: - newval.append(w + suffix) - return ' '.join(newval) diff --git a/meta-phosphor/classes/phosphor-deploy-ssh-keys.bbclass b/meta-phosphor/classes/phosphor-deploy-ssh-keys.bbclass new file mode 100644 index 000000000..a85d2ac2d --- /dev/null +++ b/meta-phosphor/classes/phosphor-deploy-ssh-keys.bbclass @@ -0,0 +1,62 @@ +#### +# Copyright 2020 Hewlett Packard Enterprise Development LP. +# +# +# Add a basic class to add a privileged user from an ssh +# standpoint and a public key passed as an input parameter +# from the local.conf file +# Example: +# INHERIT += "phosphor-deploy-ssh-keys" +# SSH_KEYS = "vejmarie:/home/openbmc/openbmc/meta-hpe/keys/test.pub;" +#### + +inherit useradd_base + +IMAGE_PREPROCESS_COMMAND += "deploy_local_user;" + +deploy_local_user () { + if [ "${SSH_KEYS}" != "" ]; then + group_settings="${SSH_KEYS}" + current_setting=`echo $group_settings | cut -d ';' -f1` + remaining=`echo $group_settings | cut -d ';' -f2-` + while test "x$current_setting" != "x"; do + + username=`echo ${SSH_KEYS} | awk -F":" '{ print $1}'` + key_path=`echo ${SSH_KEYS} | awk -F":" '{ print $2}'` + + if [ ! -d ${IMAGE_ROOTFS}/home/${username} ]; then + perform_useradd "${IMAGE_ROOTFS}" "-R ${IMAGE_ROOTFS} -p '' ${username}" + fi + + if [ ! -d ${IMAGE_ROOTFS}/home/${username}.ssh/ ]; then + install -d ${IMAGE_ROOTFS}/home/${username}/.ssh/ + fi + + if [ ! -f ${IMAGE_ROOTFS}/home/${username}/.ssh/authorized_keys ]; then + install -m 0600 ${key_path} ${IMAGE_ROOTFS}/home/${username}/.ssh/authorized_keys + else + cat ${key_path} >> ${IMAGE_ROOTFS}/home/${username}/.ssh/authorized_keys + fi + + uid=`cat ${IMAGE_ROOTFS}/etc/passwd | grep "${username}:" | awk -F ":" '{print $3}'` + guid=`cat ${IMAGE_ROOTFS}/etc/passwd | grep "${username}:" | awk -F ":" '{print $4}'` + + chown -R ${uid}:${guid} ${IMAGE_ROOTFS}/home/${username}/.ssh + chmod 600 ${IMAGE_ROOTFS}/home/${username}/.ssh/authorized_keys + chmod 700 ${IMAGE_ROOTFS}/home/${username}/.ssh + + is_group=`grep "priv-admin" ${IMAGE_ROOTFS}/etc/group || true` + + if [ -z "${is_group}" ]; then + perform_groupadd "${IMAGE_ROOTFS}" "-R ${IMAGE_ROOTFS} priv-admin" + fi + + perform_usermod "${IMAGE_ROOTFS}" "-R ${IMAGE_ROOTFS} -a -G priv-admin ${username}" + + current_setting=`echo $remaining | cut -d ";" -f1` + remaining=`echo $remaining | cut -d ';' -f2-` + done + else + bbwarn "Trying to deploy SSH keys but input variable is empty (SSH_KEYS)" + fi +} diff --git a/meta-phosphor/classes/phosphor-logging-yaml-provider.bbclass b/meta-phosphor/classes/phosphor-logging-yaml-provider.bbclass new file mode 100644 index 000000000..89d031caa --- /dev/null +++ b/meta-phosphor/classes/phosphor-logging-yaml-provider.bbclass @@ -0,0 +1,22 @@ +inherit phosphor-dbus-yaml + +LOGGING_YAML_SUBDIRS ??= "${OBMC_ORG_YAML_SUBDIRS}" + +do_install_append() { + for yaml_d in ${LOGGING_YAML_SUBDIRS} ; + do + if [ ! -d ${S}/${yaml_d} ]; + then + continue + fi + + for yaml_f in $(find ${S}/${yaml_d} -name "*.errors.yaml" -or \ + -name "*.metadata.yaml") ; + do + subpath=$(realpath --relative-to=${S} ${yaml_f}) + install -d $(dirname ${D}${yaml_dir}/$subpath) + + install -m 0644 ${yaml_f} ${D}${yaml_dir}/$subpath + done + done +} diff --git a/meta-phosphor/classes/phosphor-networkd-rev.bbclass b/meta-phosphor/classes/phosphor-networkd-rev.bbclass index 80c68dcf4..7556591cb 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 = "06345733e3389ec54018a9d8d3bf6a272b914f12" +SRCREV = "ffcba341a893318588afe83e8d767d8c20fd9189" diff --git a/meta-phosphor/classes/phosphor-pid-control.bbclass b/meta-phosphor/classes/phosphor-pid-control.bbclass deleted file mode 100644 index 3f69338aa..000000000 --- a/meta-phosphor/classes/phosphor-pid-control.bbclass +++ /dev/null @@ -1,5 +0,0 @@ -config_datadir="${datadir}/swampd/" -# config_path is the location swampd expects to find a json configuration. -# the file is expected to be named config.json -config_path="${config_datadir}config.json" - diff --git a/meta-phosphor/classes/phosphor-software-manager-mmc.bbclass b/meta-phosphor/classes/phosphor-software-manager-mmc.bbclass new file mode 100644 index 000000000..f30f0c04f --- /dev/null +++ b/meta-phosphor/classes/phosphor-software-manager-mmc.bbclass @@ -0,0 +1,21 @@ +# eMMC-specific configuration for the phosphor-manager-software package + +PACKAGECONFIG_append = " mmc_layout" + +EXTRA_OEMESON += "-Dactive-bmc-max-allowed=2" +EXTRA_OEMESON += "-Dmedia-dir='/media'" +EXTRA_OEMESON += "-Doptional-images='image-hostfw'" + +RDEPENDS_phosphor-software-manager-updater-mmc += " \ + gptfdisk \ + parted \ + zstd \ +" + +SYSTEMD_SERVICE_phosphor-software-manager-updater-mmc += " \ + obmc-flash-mmc@.service \ + obmc-flash-mmc-remove@.service \ + obmc-flash-mmc-setprimary@.service \ + obmc-flash-mmc-mount.service \ + obmc-flash-mmc-umount.service \ +" diff --git a/meta-phosphor/classes/phosphor-software-manager-ubi-fs.bbclass b/meta-phosphor/classes/phosphor-software-manager-ubi-fs.bbclass index cc1ad3738..6ca1fb162 100644 --- a/meta-phosphor/classes/phosphor-software-manager-ubi-fs.bbclass +++ b/meta-phosphor/classes/phosphor-software-manager-ubi-fs.bbclass @@ -6,17 +6,9 @@ RDEPENDS_phosphor-software-manager-updater-ubi += " \ mtd-utils-ubifs \ " -# Remove default configs -EXTRA_OECONF_remove_df-obmc-ubi-fs += " \ - ACTIVE_BMC_MAX_ALLOWED=1 \ - MEDIA_DIR=/run/media \ -" - # Add ubi-fs configs -EXTRA_OECONF_append_df-obmc-ubi-fs += " \ - ACTIVE_BMC_MAX_ALLOWED=2 \ - MEDIA_DIR=/media \ -" +EXTRA_OEMESON += "-Dactive-bmc-max-allowed=2" +EXTRA_OEMESON += "-Dmedia-dir='/media'" SYSTEMD_SERVICE_phosphor-software-manager-updater-ubi += " \ obmc-flash-bmc-ubirw.service \ diff --git a/meta-phosphor/classes/skeleton-rev.bbclass b/meta-phosphor/classes/skeleton-rev.bbclass index 4ae3c03a9..d9f5aadce 100644 --- a/meta-phosphor/classes/skeleton-rev.bbclass +++ b/meta-phosphor/classes/skeleton-rev.bbclass @@ -1,4 +1,4 @@ -SRCREV ?= "1146f8c6e5f955fb10f5e846de31052be942a7f2" +SRCREV ?= "3fbb4443dbc6ae6a7d8b5165a4f3b1992502570f" SKELETON_URI ?= "git://github.com/openbmc/skeleton" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" diff --git a/meta-phosphor/conf/distro/include/phosphor-base.inc b/meta-phosphor/conf/distro/include/phosphor-base.inc index 8d53c8dda..93b24550c 100644 --- a/meta-phosphor/conf/distro/include/phosphor-base.inc +++ b/meta-phosphor/conf/distro/include/phosphor-base.inc @@ -8,6 +8,8 @@ POKY_DEFAULT_EXTRA_RRECOMMENDS = "kernel-module-af-packet" DISTRO_EXTRA_RDEPENDS += " ${POKY_DEFAULT_EXTRA_RDEPENDS}" DISTRO_EXTRA_RRECOMMENDS += " ${POKY_DEFAULT_EXTRA_RRECOMMENDS}" +DISTROOVERRIDES .= ":openbmc-phosphor" + POKYQEMUDEPS = "${@bb.utils.contains("INCOMPATIBLE_LICENSE", "GPL-3.0", "", "packagegroup-core-device-devel",d)}" DISTRO_EXTRA_RDEPENDS_append_qemuarm = " ${POKYQEMUDEPS}" DISTRO_EXTRA_RDEPENDS_append_qemuarm64 = " ${POKYQEMUDEPS}" @@ -93,7 +95,6 @@ DISTRO_FEATURES_BACKFILL_CONSIDERED = " \ " DISTRO_FEATURES_OBMC = " \ - ipmi-fru \ obmc-host-ctl \ obmc-host-ipmi \ obmc-phosphor-chassis-mgmt \ @@ -106,8 +107,6 @@ DISTRO_FEATURES_DEFAULT = " \ avahi \ ipv4 \ ipv6 \ - ldap \ - libc-inet-anl \ pam \ slp \ systemd \ @@ -124,9 +123,6 @@ MACHINE_FEATURES += " \ DISTRO_EXTRA_RDEPENDS_remove_qemuarm = "packagegroup-core-device-devel" -# TODO: openbmc/openbmc#12345 - Upgrade to pygobject-3. -PREFERRED_VERSION_python-pygobject = "2.%" - include conf/distro/include/openbmc-phosphor/${MACHINE}.inc KERNEL_FEATURES_append = " phosphor-gpio-keys" @@ -146,3 +142,9 @@ BAD_RECOMMENDATIONS += "shared-mime-info" LAYER_CONF_VERSION ?= "8" KERNEL_CLASSES_append = " obmc-phosphor-kernel-version" + +# Some packages have directory trees of YAML files arranged based on +# canonical organization names. 'xyz/openbmc_project' should be used +# everywhere in phosphor, but some layers may append this with their +# own organization(s). +OBMC_ORG_YAML_SUBDIRS += " xyz/openbmc_project" diff --git a/meta-phosphor/conf/distro/include/phosphor-mmc.inc b/meta-phosphor/conf/distro/include/phosphor-mmc.inc new file mode 100644 index 000000000..05d79c71f --- /dev/null +++ b/meta-phosphor/conf/distro/include/phosphor-mmc.inc @@ -0,0 +1,2 @@ +DISTRO_FEATURES += "phosphor-mmc" +DISTROOVERRIDES .= ":df-phosphor-mmc" diff --git a/meta-phosphor/conf/layer.conf b/meta-phosphor/conf/layer.conf index 028c6e52e..2292acce9 100644 --- a/meta-phosphor/conf/layer.conf +++ b/meta-phosphor/conf/layer.conf @@ -8,7 +8,7 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "phosphor-layer" BBFILE_PATTERN_phosphor-layer := "^${LAYERDIR}/" LAYERVERSION_phosphor-layer = "1" -LAYERSERIES_COMPAT_phosphor-layer = "warrior zeus dunfell" +LAYERSERIES_COMPAT_phosphor-layer = "dunfell gatesgarth" IMAGE_FEATURES[validitems] += "tools-profile" diff --git a/meta-phosphor/conf/machine/include/ibm-power-cpu.inc b/meta-phosphor/conf/machine/include/ibm-power-cpu.inc new file mode 100644 index 000000000..1ff6dd304 --- /dev/null +++ b/meta-phosphor/conf/machine/include/ibm-power-cpu.inc @@ -0,0 +1 @@ +MACHINEOVERRIDES =. "ibm-power-cpu:" diff --git a/meta-phosphor/conf/machine/include/ibm-power10-cpu.inc b/meta-phosphor/conf/machine/include/ibm-power10-cpu.inc new file mode 100644 index 000000000..7d518ddaa --- /dev/null +++ b/meta-phosphor/conf/machine/include/ibm-power10-cpu.inc @@ -0,0 +1,2 @@ +MACHINEOVERRIDES =. "ibm-power10-cpu:" +require conf/machine/include/ibm-power-cpu.inc diff --git a/meta-phosphor/conf/machine/include/ibm-power8-cpu.inc b/meta-phosphor/conf/machine/include/ibm-power8-cpu.inc new file mode 100644 index 000000000..8be9d5395 --- /dev/null +++ b/meta-phosphor/conf/machine/include/ibm-power8-cpu.inc @@ -0,0 +1,2 @@ +MACHINEOVERRIDES =. "ibm-power8-cpu:" +require conf/machine/include/ibm-power-cpu.inc diff --git a/meta-phosphor/conf/machine/include/ibm-power9-cpu.inc b/meta-phosphor/conf/machine/include/ibm-power9-cpu.inc new file mode 100644 index 000000000..d92cbdf37 --- /dev/null +++ b/meta-phosphor/conf/machine/include/ibm-power9-cpu.inc @@ -0,0 +1,2 @@ +MACHINEOVERRIDES =. "ibm-power9-cpu:" +require conf/machine/include/ibm-power-cpu.inc diff --git a/meta-phosphor/conf/machine/include/obmc-bsp-common.inc b/meta-phosphor/conf/machine/include/obmc-bsp-common.inc index 4bafeafce..8a3da1199 100644 --- a/meta-phosphor/conf/machine/include/obmc-bsp-common.inc +++ b/meta-phosphor/conf/machine/include/obmc-bsp-common.inc @@ -5,10 +5,23 @@ KERNEL_CLASSES ?= "kernel-fitimage" KERNEL_IMAGETYPES ?= "fitImage" +# Static images. This is the default if no other layout is specified. +IMAGE_FSTYPES += "${@bb.utils.contains_any('DISTRO_FEATURES', \ + 'obmc-ubi-fs phosphor-mmc', \ + '', \ + 'mtd-static mtd-static-tar mtd-static-alltar', d)}" + +# UBI images. IMAGE_FSTYPES += "${@bb.utils.contains('DISTRO_FEATURES', \ 'obmc-ubi-fs', \ 'mtd-ubi mtd-ubi-tar', \ - 'mtd-static mtd-static-tar mtd-static-alltar', d)}" + '', d)}" + +# eMMC images. +IMAGE_FSTYPES += "${@bb.utils.contains('DISTRO_FEATURES', \ + 'phosphor-mmc', \ + 'wic.xz mmc-ext4-tar', \ + '', d)}" INITRAMFS_CTYPE ?= "xz" INITRAMFS_FSTYPES = "cpio.${INITRAMFS_CTYPE}" diff --git a/meta-phosphor/nuvoton-layer/recipes-connectivity/jsnbd/jsnbd/state_hook b/meta-phosphor/nuvoton-layer/recipes-connectivity/jsnbd/jsnbd/state_hook new file mode 100755 index 000000000..d317e2e9b --- /dev/null +++ b/meta-phosphor/nuvoton-layer/recipes-connectivity/jsnbd/jsnbd/state_hook @@ -0,0 +1,68 @@ +#!/bin/sh + +if [ $# -ne 2 ] +then + echo "usage: $0 <start|stop> <config>" >&2 + exit 1 +fi + +action=$1 +config=$2 + +gadget_name=mass-storage +gadget_dir=/sys/kernel/config/usb_gadget/$gadget_name + +case "$config" in +0) + nbd_device=/dev/nbd0 + ;; +*) + echo "invalid config $config" >&2 + exit 1 + ;; +esac + +set -ex + +case "$action" in +start) + mkdir -p $gadget_dir + ( + cd $gadget_dir + # http://www.linux-usb.org/usb.ids + # |-> 1d6b Linux Foundation + # |-> 0104 Multifunction Composite Gadget + echo "0x1d6b" > idVendor + echo "0x0104" > idProduct + mkdir -p strings/0x409 + echo "OpenBMC" > strings/0x409/manufacturer + echo "Virtual Media Device" > strings/0x409/product + mkdir -p configs/c.1/strings/0x409 + echo "config 1" > configs/c.1/strings/0x409/configuration + mkdir -p functions/mass_storage.usb0 + ln -s functions/mass_storage.usb0 configs/c.1 + echo 1 > functions/mass_storage.usb0/lun.0/removable + echo 1 > functions/mass_storage.usb0/lun.0/ro + echo 0 > functions/mass_storage.usb0/lun.0/cdrom + echo $nbd_device > functions/mass_storage.usb0/lun.0/file + echo "f0831000.udc" > UDC + ) + ;; +stop) + ( + cd $gadget_dir + rm configs/c.1/mass_storage.usb0 + rmdir functions/mass_storage.usb0 + rmdir configs/c.1/strings/0x409 + rmdir configs/c.1 + rmdir strings/0x409 + ) + rmdir $gadget_dir + ;; +*) + echo "invalid action $action" >&2 + exit 1 +esac + +exit 0 + diff --git a/meta-phosphor/nuvoton-layer/recipes-connectivity/jsnbd/jsnbd_git.bbappend b/meta-phosphor/nuvoton-layer/recipes-connectivity/jsnbd/jsnbd_git.bbappend new file mode 100644 index 000000000..3ccc08798 --- /dev/null +++ b/meta-phosphor/nuvoton-layer/recipes-connectivity/jsnbd/jsnbd_git.bbappend @@ -0,0 +1,9 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +FILES_${PN} += "${sysconfdir}/nbd-proxy/state" +SRC_URI += "file://state_hook" + +do_install_append() { + install -d ${D}${sysconfdir}/nbd-proxy/ + install -m 0755 ${WORKDIR}/state_hook ${D}${sysconfdir}/nbd-proxy/state +} diff --git a/meta-phosphor/nuvoton-layer/recipes-kernel/linux/linux-nuvoton_%.bbappend b/meta-phosphor/nuvoton-layer/recipes-kernel/linux/linux-nuvoton_%.bbappend index 71e208cd4..3d0bbb7f3 100644 --- a/meta-phosphor/nuvoton-layer/recipes-kernel/linux/linux-nuvoton_%.bbappend +++ b/meta-phosphor/nuvoton-layer/recipes-kernel/linux/linux-nuvoton_%.bbappend @@ -2,3 +2,7 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" SRC_URI += "file://phosphor-gpio-keys.scc" SRC_URI += "file://phosphor-gpio-keys.cfg" + +# OpenBMC loads in kernel features via other mechanisms so this check +# in the kernel-yocto.bbclass is not required +KERNEL_DANGLING_FEATURES_WARN_ONLY="1" 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 index 60d561011..99990857d 100644 --- a/meta-phosphor/nuvoton-layer/recipes-phosphor/host/phosphor-host-postd_%.bbappend +++ b/meta-phosphor/nuvoton-layer/recipes-phosphor/host/phosphor-host-postd_%.bbappend @@ -1,3 +1 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -SNOOP_DEVICE = "npcm7xx-lpc-bpc0" +SNOOP_DEVICE_npcm7xx = "npcm7xx-lpc-bpc0" diff --git a/meta-phosphor/recipes-connectivity/jsnbd/jsnbd_git.bb b/meta-phosphor/recipes-connectivity/jsnbd/jsnbd_git.bb index afc36d46e..8533540dc 100644 --- a/meta-phosphor/recipes-connectivity/jsnbd/jsnbd_git.bb +++ b/meta-phosphor/recipes-connectivity/jsnbd/jsnbd_git.bb @@ -15,7 +15,7 @@ RDEPENDS_${PN} += "nbd-client" S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/jsnbd" -SRCREV = "74c8a728212021e750686f4ec797e5f16283168a" +SRCREV = "164fef38b703032045803f05301b256ed045a094" NBD_PROXY_CONFIG_JSON ??= "${S}/config.sample.json" diff --git a/meta-phosphor/recipes-core/base-files/base-files/df-mmc/fstab b/meta-phosphor/recipes-core/base-files/base-files/df-mmc/fstab new file mode 100644 index 000000000..4a0766876 --- /dev/null +++ b/meta-phosphor/recipes-core/base-files/base-files/df-mmc/fstab @@ -0,0 +1,9 @@ +# openbmc fstab + +/dev/root / auto defaults 1 1 +proc /proc proc defaults 0 0 +devpts /dev/pts devpts mode=0620,gid=5 0 0 +tmpfs /run tmpfs mode=0755,nodev,nosuid,strictatime 0 0 +tmpfs /var/volatile tmpfs defaults 0 0 +tmpfs /media tmpfs defaults 0 0 +/var/persist/home /home none bind 0 0 diff --git a/meta-phosphor/recipes-core/base-files/base-files/nsswitch_ldap.conf b/meta-phosphor/recipes-core/base-files/base-files/nsswitch_ldap.conf deleted file mode 100644 index 78141f644..000000000 --- a/meta-phosphor/recipes-core/base-files/base-files/nsswitch_ldap.conf +++ /dev/null @@ -1,20 +0,0 @@ -# /etc/nsswitch.conf -# -# Example configuration of GNU Name Service Switch functionality. -# If you have the `glibc-doc' and `info' packages installed, try: -# `info libc "Name Service Switch"' for information about this file. - -passwd: files ldap -group: files ldap -shadow: files ldap - -hosts: files dns -networks: files - -protocols: db files -services: db files -ethers: db files -rpc: db files - -netgroup: nis - diff --git a/meta-phosphor/recipes-core/base-files/base-files_%.bbappend b/meta-phosphor/recipes-core/base-files/base-files_%.bbappend index c77cfefc7..b6c4222b2 100644 --- a/meta-phosphor/recipes-core/base-files/base-files_%.bbappend +++ b/meta-phosphor/recipes-core/base-files/base-files_%.bbappend @@ -1,4 +1,5 @@ FILESEXTRAPATHS_prepend_df-obmc-ubi-fs := "${THISDIR}/${PN}/df-ubi:" +FILESEXTRAPATHS_prepend_df-phosphor-mmc := "${THISDIR}/${PN}/df-mmc:" FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" @@ -6,16 +7,12 @@ RDEPENDS_${PN}_append_df-obmc-ubi-fs = " preinit-mounts" SRC_URI += " \ file://50-rp_filter.conf \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', 'file://nsswitch_ldap.conf', '', d)}" +" do_install_append() { install -d ${D}/srv - if [ "${@bb.utils.filter('DISTRO_FEATURES', 'ldap', d)}" ]; then - install -D -m 600 ${WORKDIR}/nsswitch_ldap.conf ${D}/${sysconfdir}/nsswitch.conf - fi - install -d ${D}/${libdir}/sysctl.d install -D -m 644 ${WORKDIR}/50-rp_filter.conf ${D}/${libdir}/sysctl.d/50-rp_filter.conf } diff --git a/meta-phosphor/recipes-core/os-release/os-release.bbappend b/meta-phosphor/recipes-core/os-release/os-release.bbappend index c01014643..0f938c392 100644 --- a/meta-phosphor/recipes-core/os-release/os-release.bbappend +++ b/meta-phosphor/recipes-core/os-release/os-release.bbappend @@ -13,22 +13,11 @@ def run_git(d, cmd): except: pass -python() { - version_id = run_git(d, 'describe --dirty --long') - if version_id: - d.setVar('VERSION_ID', version_id) - versionList = version_id.split('-') - version = versionList[0] + "-" + versionList[1] - d.setVar('VERSION', version) +VERSION_ID := "${@run_git(d, 'describe --dirty --long')}" +VERSION = "${@'-'.join(d.getVar('VERSION_ID').split('-')[0:2])}" - build_id = run_git(d, 'describe --abbrev=0') - if build_id: - d.setVar('BUILD_ID', build_id) - - target_machine = d.getVar('MACHINE', True) - if target_machine: - d.setVar('OPENBMC_TARGET_MACHINE', target_machine) -} +BUILD_ID := "${@run_git(d, 'describe --abbrev=0')}" +OPENBMC_TARGET_MACHINE = "${MACHINE}" OS_RELEASE_FIELDS_append = " BUILD_ID OPENBMC_TARGET_MACHINE" diff --git a/meta-phosphor/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend b/meta-phosphor/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend index a3e2dcda2..e111a4d95 100644 --- a/meta-phosphor/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend +++ b/meta-phosphor/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend @@ -1,7 +1,6 @@ RDEPENDS_${PN}_append = " \ nativesdk-autoconf-archive \ nativesdk-meson \ - nativesdk-phosphor-dbus-interfaces-yaml \ nativesdk-python3-sdbus++ \ nativesdk-phosphor-logging-elog \ " 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 d62dc9985..8327383d0 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,7 @@ -RRECOMMENDS_${PN}_append = " googletest sdbusplus phosphor-logging libstdc++-staticdev" +RRECOMMENDS_${PN}_append = " \ + googletest \ + libstdc++-staticdev \ + phosphor-dbus-interfaces-yaml \ + phosphor-logging \ + sdbusplus \ + " diff --git a/meta-phosphor/recipes-core/packagegroups/packagegroup-core-tools-profile.bbappend b/meta-phosphor/recipes-core/packagegroups/packagegroup-core-tools-profile.bbappend index 78b78e40b..c182dafb9 100644 --- a/meta-phosphor/recipes-core/packagegroups/packagegroup-core-tools-profile.bbappend +++ b/meta-phosphor/recipes-core/packagegroups/packagegroup-core-tools-profile.bbappend @@ -5,8 +5,3 @@ RDEPENDS_${PN}_remove = " \ powertop \ latencytop \ " - -RRECOMMENDS_${PN}_remove = " \ - perf \ - trace-cmd \ - " diff --git a/meta-phosphor/recipes-phosphor/systemd-policy/phosphor-systemd-policy.bb b/meta-phosphor/recipes-core/systemd/phosphor-systemd-policy.bb index 21433976b..21433976b 100644 --- a/meta-phosphor/recipes-phosphor/systemd-policy/phosphor-systemd-policy.bb +++ b/meta-phosphor/recipes-core/systemd/phosphor-systemd-policy.bb diff --git a/meta-phosphor/recipes-phosphor/systemd-policy/phosphor-systemd-policy/journald-maxlevel-policy.conf b/meta-phosphor/recipes-core/systemd/phosphor-systemd-policy/journald-maxlevel-policy.conf index f5f3d0ff1..f5f3d0ff1 100644 --- a/meta-phosphor/recipes-phosphor/systemd-policy/phosphor-systemd-policy/journald-maxlevel-policy.conf +++ b/meta-phosphor/recipes-core/systemd/phosphor-systemd-policy/journald-maxlevel-policy.conf diff --git a/meta-phosphor/recipes-phosphor/systemd-policy/phosphor-systemd-policy/service-restart-policy.conf b/meta-phosphor/recipes-core/systemd/phosphor-systemd-policy/service-restart-policy.conf index 54516c2d4..54516c2d4 100644 --- a/meta-phosphor/recipes-phosphor/systemd-policy/phosphor-systemd-policy/service-restart-policy.conf +++ b/meta-phosphor/recipes-core/systemd/phosphor-systemd-policy/service-restart-policy.conf diff --git a/meta-phosphor/recipes-core/systemd/systemd_%.bbappend b/meta-phosphor/recipes-core/systemd/systemd_%.bbappend index 1aabe378f..f1046de20 100644 --- a/meta-phosphor/recipes-core/systemd/systemd_%.bbappend +++ b/meta-phosphor/recipes-core/systemd/systemd_%.bbappend @@ -25,3 +25,5 @@ ALTERNATIVE_${PN} += "init" ALTERNATIVE_TARGET[init] = "${rootlibexecdir}/systemd/systemd" ALTERNATIVE_LINK_NAME[init] = "${base_sbindir}/init" ALTERNATIVE_PRIORITY[init] ?= "300" + +RRECOMMENDS_${PN}_append_openbmc-phosphor = " phosphor-systemd-policy" diff --git a/meta-phosphor/recipes-devtools/python/python3_%.bbappend b/meta-phosphor/recipes-devtools/python/python3_%.bbappend index 69f4e9ab0..324b28ce0 100644 --- a/meta-phosphor/recipes-devtools/python/python3_%.bbappend +++ b/meta-phosphor/recipes-devtools/python/python3_%.bbappend @@ -10,11 +10,4 @@ do_install_append_class-target() { # Even though python3 is built with --without-ensurepip, it still installs # a large, compressed version of pip. Remove it to free up the space. rm -rf ${D}${libdir}/python${PYTHON_MAJMIN}/ensurepip - - # Remove all python .py files from python recipe. Only the .pyc - # files are required. - # The _sysconfigdata*.py files are system configuration files generated - # during build time. It's used in the yocto packaging process so - # it is required to remain in the image. - find ${D}${libdir}/python${PYTHON_MAJMIN} -name \*.py ! -name _sysconfigdata*.py -exec rm {} \; } diff --git a/meta-phosphor/recipes-extended/gpioplus/gpioplus_git.bb b/meta-phosphor/recipes-extended/gpioplus/gpioplus_git.bb index 81f08f42c..cedae50c9 100644 --- a/meta-phosphor/recipes-extended/gpioplus/gpioplus_git.bb +++ b/meta-phosphor/recipes-extended/gpioplus/gpioplus_git.bb @@ -14,6 +14,6 @@ EXTRA_OEMESON = " \ " SRC_URI += "git://github.com/openbmc/gpioplus" -SRCREV = "d67babcdbe7854b14afb421861c25769519d0fc8" +SRCREV = "2f8444ce2dfb265bc6dcd45cae0484d68f08dd91" S = "${WORKDIR}/git" diff --git a/meta-phosphor/recipes-extended/pam/libpam_%.bbappend b/meta-phosphor/recipes-extended/pam/libpam_%.bbappend index 07dd54847..8ed05f629 100644 --- a/meta-phosphor/recipes-extended/pam/libpam_%.bbappend +++ b/meta-phosphor/recipes-extended/pam/libpam_%.bbappend @@ -10,6 +10,7 @@ RDEPENDS_${PN}-runtime += "${MLPREFIX}pam-plugin-cracklib-${libpam_suffix} \ ${MLPREFIX}pam-plugin-tally2-${libpam_suffix} \ ${MLPREFIX}pam-plugin-pwhistory-${libpam_suffix} \ ${MLPREFIX}pam-plugin-succeed-if-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-localuser-${libpam_suffix} \ " do_install_append() { diff --git a/meta-phosphor/recipes-extended/sdbusplus/python3-sdbus++_git.bb b/meta-phosphor/recipes-extended/sdbusplus/python3-sdbus++_git.bb index 9d89895b0..6557a1d9a 100644 --- a/meta-phosphor/recipes-extended/sdbusplus/python3-sdbus++_git.bb +++ b/meta-phosphor/recipes-extended/sdbusplus/python3-sdbus++_git.bb @@ -15,11 +15,6 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5 S="${WORKDIR}/git/tools" -# Provide these aliases temporarily until everyone can move over to the -# new package name. -PROVIDES_class-native += "sdbusplus-native" -PROVIDES_class-nativesdk += "sdbusplus-nativesdk" - DEPENDS += " \ autoconf-archive-native \ ${PYTHON_PN}-inflection-native \ diff --git a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc index 5096a05ec..76df354cf 100644 --- a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc +++ b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc @@ -3,4 +3,4 @@ PR = "r1" PV = "1.0+git${SRCPV}" SRC_URI += "git://github.com/openbmc/sdbusplus" -SRCREV = "fa3137a78e952134559bf7c41c4f29fa4afabe02" +SRCREV = "c67e1e8730a2d3dcb155b21ced735ee188e8ea7f" diff --git a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb index 49e2f4af2..973a92f3d 100644 --- a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb +++ b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb @@ -18,3 +18,8 @@ DEPENDS += " \ googletest \ systemd \ " + +EXTRA_OEMESON += " \ + -Dtests=disabled \ + -Dexamples=disabled \ + " diff --git a/meta-phosphor/recipes-extended/sdeventplus/sdeventplus_git.bb b/meta-phosphor/recipes-extended/sdeventplus/sdeventplus_git.bb index f5404ce9f..9befc924a 100644 --- a/meta-phosphor/recipes-extended/sdeventplus/sdeventplus_git.bb +++ b/meta-phosphor/recipes-extended/sdeventplus/sdeventplus_git.bb @@ -20,6 +20,6 @@ EXTRA_OEMESON = " \ " SRC_URI += "git://github.com/openbmc/sdeventplus" -SRCREV = "b315a2ab41ab6408a2185162fdd56c836249abdc" +SRCREV = "b0a0e4db4628e2bab502767aa08cf236a0d0bf5d" S = "${WORKDIR}/git" diff --git a/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb b/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb index 4c3822fe4..78c6cdb9a 100644 --- a/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb +++ b/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb @@ -8,12 +8,15 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" inherit meson pkgconfig +DEPENDS += "fmt" +DEPENDS += "span-lite" + EXTRA_OEMESON = " \ -Dexamples=false \ -Dtests=disabled \ " SRC_URI += "git://github.com/openbmc/stdplus" -SRCREV = "a2d67e20529a1f720c13586553ad2cec1451d5a8" +SRCREV = "5f22a6c260295b5d8553d77893aba01684e4a72c" S = "${WORKDIR}/git" diff --git a/meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager_git.bb b/meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager_git.bb index 4491a31ab..7b0ecd82b 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 = "c4522d2ea747e139dc97238b58c9609ac9d11776" +SRCREV = "9fe64af47f6100266b4a0e234ff98d6e258bb150" inherit autotools \ pkgconfig \ @@ -19,7 +19,6 @@ DEPENDS = " \ autoconf-archive-native \ openssl \ phosphor-dbus-interfaces \ - phosphor-dbus-interfaces-native \ phosphor-logging \ sdbusplus \ sdeventplus \ @@ -29,3 +28,7 @@ S = "${WORKDIR}/git" CERT_TMPL = "phosphor-certificate-manager@.service" SYSTEMD_SERVICE_${PN} = "${CERT_TMPL}" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[ibm-hypervisor-cert] = "--enable-ca-cert-extension,," +SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'ibm-hypervisor-cert', 'bmc-vmi-ca-manager.service', '', d)}" diff --git a/meta-phosphor/recipes-phosphor/chassis/obmc-op-control-power/op-wait-power-on@.service b/meta-phosphor/recipes-phosphor/chassis/obmc-op-control-power/op-wait-power-on@.service index 1e65d0887..df8383274 100644 --- a/meta-phosphor/recipes-phosphor/chassis/obmc-op-control-power/op-wait-power-on@.service +++ b/meta-phosphor/recipes-phosphor/chassis/obmc-op-control-power/op-wait-power-on@.service @@ -1,6 +1,7 @@ [Unit] Description=Wait for Power%i to turn on -Before=obmc-power-on@%i.target +Wants=obmc-power-start-pre@%i.target +After=obmc-power-start-pre@%i.target Wants=obmc-power-start@%i.target Before=obmc-power-start@%i.target Wants=mapper-wait@-org-openbmc-control-power%i.service diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager/blocklist.json b/meta-phosphor/recipes-phosphor/configuration/entity-manager/blocklist.json new file mode 100644 index 000000000..f112a7b6c --- /dev/null +++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager/blocklist.json @@ -0,0 +1,3 @@ +{ + "buses": [] +} diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager/ibm-power10-cpu/blocklist.json b/meta-phosphor/recipes-phosphor/configuration/entity-manager/ibm-power10-cpu/blocklist.json new file mode 100644 index 000000000..e0f80f604 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager/ibm-power10-cpu/blocklist.json @@ -0,0 +1,3 @@ +{ + "buses": [100, 101, 110, 111, 112, 113, 114, 115, 202, 203, 210, 211, 214, 215, 216, 217, 300, 301, 310, 311, 312, 313, 314, 315, 402, 403, 410, 411, 414, 415, 416, 417] +} diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager/ibm-power9-cpu/blocklist.json b/meta-phosphor/recipes-phosphor/configuration/entity-manager/ibm-power9-cpu/blocklist.json new file mode 100644 index 000000000..2dbf22d5d --- /dev/null +++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager/ibm-power9-cpu/blocklist.json @@ -0,0 +1,3 @@ +{ + "buses": [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214] +} diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb index 2746e6d67..0a5c099c2 100644 --- a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb @@ -2,25 +2,43 @@ SUMMARY = "Entity Manager" DESCRIPTION = "Entity Manager provides d-bus configuration data \ and configures system sensors" -SRC_URI = "git://github.com/openbmc/entity-manager.git" -SRCREV = "8c505da0ffd8709f3c799a855ff921cfbd446201" +SRC_URI = "git://github.com/openbmc/entity-manager.git file://blocklist.json" +SRCREV = "9c7fd64642e4242d2422bd70abee04eda326e890" PV = "0.1+git${SRCPV}" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b" -SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.EntityManager.service \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ipmi-fru', 'xyz.openbmc_project.FruDevice.service', '', d)}" - DEPENDS = "boost \ + dbus \ nlohmann-json \ sdbusplus \ valijson" -S = "${WORKDIR}/git/" +S = "${WORKDIR}/git" inherit meson systemd EXTRA_OEMESON = "-Dtests=disabled" -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipmi-fru', d)}" +PACKAGECONFIG ??= "ipmi-fru" PACKAGECONFIG[ipmi-fru] = "-Dfru-device=true, -Dfru-device=false, i2c-tools," + +EXTRA_ENTITY_MANAGER_PACKAGES = " \ + ${@bb.utils.contains('PACKAGECONFIG', 'ipmi-fru', 'fru-device', '', d)} \ + " + +PACKAGE_BEFORE_PN = "${EXTRA_ENTITY_MANAGER_PACKAGES}" + +do_install_append() { + install -D ${WORKDIR}/blocklist.json ${D}${datadir}/${BPN}/blacklist.json +} + +FILES_${PN} += " \ + ${datadir}/dbus-1/system-services/xyz.openbmc_project.EntityManager.service \ + " +FILES_fru-device = "${bindir}/fru-device ${datadir}/${BPN}/blacklist.json" + +SYSTEMD_PACKAGES = "${PN} ${EXTRA_ENTITY_MANAGER_PACKAGES}" +SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.EntityManager.service" +SYSTEMD_SERVICE_fru-device = "xyz.openbmc_project.FruDevice.service" +SYSTEMD_AUTO_ENABLE_fru-device_ibm-power-cpu = "disable" diff --git a/meta-phosphor/recipes-phosphor/datetime/phosphor-time-manager_git.bb b/meta-phosphor/recipes-phosphor/datetime/phosphor-time-manager_git.bb index 8517262f3..4e9616ecc 100644 --- a/meta-phosphor/recipes-phosphor/datetime/phosphor-time-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/datetime/phosphor-time-manager_git.bb @@ -20,7 +20,7 @@ RDEPENDS_${PN} += "phosphor-network" RDEPENDS_${PN} += "phosphor-mapper" SRC_URI += "git://github.com/openbmc/phosphor-time-manager" -SRCREV = "3de9698dae2d251cba482d4ccc78d58d2a02d564" +SRCREV = "c6d33972d95fd77dbbe5a249ee35ba90e25314f8" PV = "1.0+git${SRCPV}" S = "${WORKDIR}/git" 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 7338cf27d..e7090b146 100644 --- a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb +++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb @@ -6,25 +6,33 @@ S = "${WORKDIR}/git" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" -inherit autotools pkgconfig -inherit python3native +inherit meson +inherit obmc-phosphor-utils inherit phosphor-dbus-yaml +inherit python3native -DEPENDS += "autoconf-archive-native" -DEPENDS += "${PYTHON_PN}-sdbus++-native" +DEPENDS += " \ + ${PYTHON_PN}-sdbus++-native \ + sdbusplus \ + systemd \ + " SRC_URI = "git://github.com/openbmc/phosphor-dbus-interfaces" -SRCREV = "264d401d288841da24b9ce1377e3c399a2f4c60a" +SRCREV = "d37091affcd933b7bc7cfd0ac393e2dd539f0235" -PACKAGECONFIG ??= "libphosphor_dbus" -PACKAGECONFIG[libphosphor_dbus] = " \ - --enable-libphosphor_dbus, \ - --disable-libphosphor_dbus, \ - systemd sdbusplus, \ - libsystemd \ - " +# Process OBMC_ORG_YAML_SUBDIRS to create Meson config options. +# ex. xyz/openbmc_project -> -Ddata_xyz_openbmc_project=true +def pdi_meson_config(d): + return ' '.join([ + '-Ddata_' + x.replace('/', '_') + '=true' \ + for x in listvar_to_list(d, 'OBMC_ORG_YAML_SUBDIRS') + ]) +pdi_meson_config[vardeps] = "OBMC_ORG_YAML_SUBDIRS" -PACKAGECONFIG_remove_class-native = "libphosphor_dbus" -PACKAGECONFIG_remove_class-nativesdk = "libphosphor_dbus" +# Markdown files are installed into /usr/share/phosphor-dbus-interfaces so +# add them to the 'doc' subpackage. +FILES_${PN}-doc += "${datadir}/${BPN}" -BBCLASSEXTEND += "native nativesdk" +EXTRA_OEMESON_append = " \ + -Db_lto=true \ + ${@pdi_meson_config(d)}" diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb index 6f7951b9f..8e2f02293 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 = "551fafbce777ab0b5056c4934dea3e4477e7e911" +SRCREV = "e82b05840ba633d1f0d2e301720a5af6989c91f7" S = "${WORKDIR}/git" diff --git a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc index 3d1598e66..e1c98f546 100644 --- a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc +++ b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-debug-collector" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-debug-collector" -SRCREV = "984a98f79022c60c51a465d4bbde1247d0f69b3e" +SRCREV = "8b9b4690a4460ada5bf60a285ff6065eda6d5d4a" diff --git a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector_git.bb b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector_git.bb index 7f05e75a9..8d74f39e0 100644 --- a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector_git.bb +++ b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-collector_git.bb @@ -20,8 +20,7 @@ DBUS_PACKAGES = "${PN}-manager" SYSTEMD_PACKAGES = "${PN}-monitor" -inherit autotools \ - pkgconfig \ +inherit meson \ obmc-phosphor-dbus-service \ python3native \ phosphor-debug-collector @@ -30,7 +29,6 @@ require phosphor-debug-collector.inc DEPENDS += " \ phosphor-dbus-interfaces \ - phosphor-dbus-interfaces-native \ phosphor-logging \ sdbusplus \ ${PYTHON_PN}-sdbus++-native \ @@ -71,9 +69,9 @@ FILES_${PN}-scripts += "${dreport_dir}" DBUS_SERVICE_${PN}-manager += "${MGR_SVC}" SYSTEMD_SERVICE_${PN}-monitor += "obmc-dump-monitor.service" -EXTRA_OECONF = " \ - BMC_DUMP_PATH=${bmc_dump_path} \ - ERROR_MAP_YAML=${STAGING_DIR_NATIVE}/${datadir}/dump/errors_watch.yaml \ +EXTRA_OEMESON = " \ + -DBMC_DUMP_PATH=${bmc_dump_path} \ + -DERROR_MAP_YAML=${STAGING_DIR_NATIVE}/${datadir}/dump/errors_watch.yaml \ " S = "${WORKDIR}/git" @@ -179,15 +177,20 @@ python install_dreport_user_scripts() { #Enable ubifs-workaround by DISTRO_FEATURE obmc-ubi-fs. PACKAGECONFIG_append_df-obmc-ubi-fs = " ubifs-workaround" PACKAGECONFIG[ubifs-workaround] = " \ - --enable-ubifs-workaround, \ - --disable-ubifs-workaround \ + -Dubifs-workaround=enabled, \ + -Dubifs-workaround=disabled \ " PACKAGECONFIG[host-dump-offload-pldm] = " \ - --with-host-dump-offload-transport=pldm,, \ + -Dhost-dump-offload-transport=pldm,, \ pldm \ " +PACKAGECONFIG[openpower-dumps-extension] = " \ + -Dopenpower-dumps-extension=enabled, \ + -Dopenpower-dumps-extension=disabled \ +" + do_install[postfuncs] += "install_dreport" do_install[postfuncs] += "install_dreport_conf_file" do_install[postfuncs] += "install_dreport_plugins_scripts" diff --git a/meta-phosphor/recipes-phosphor/ecc/phosphor-ecc_git.bb b/meta-phosphor/recipes-phosphor/ecc/phosphor-ecc_git.bb new file mode 100644 index 000000000..166b58af6 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/ecc/phosphor-ecc_git.bb @@ -0,0 +1,22 @@ +SUMMARY = "Phosphor BMC Memory ECC Logging" +DESCRIPTION = "Daemon to monitor and report the BMC memory ECC" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" +PR = "r1" + +inherit meson pkgconfig +inherit systemd + +DEPENDS += "sdbusplus" +DEPENDS += "phosphor-dbus-interfaces" +DEPENDS += "sdeventplus" +DEPENDS += "phosphor-logging" + +RDEPENDS_${PN} += "phosphor-sel-logger" + +SRC_URI = "git://github.com/openbmc/phosphor-ecc.git" +SRCREV = "0841f8abf9b38f981d443ecc552cc2b014764bbf" + +S = "${WORKDIR}/git" + +SYSTEMD_SERVICE_${PN} = " ${PN}.service" diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc index ef9bee546..81eb17fce 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 = "5e7298c58039b544ca917c27a01566fc28b18f0e" +SRCREV = "fcbdc0e41f3987fed89c44b0fa5109805c41bcfd" 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 0f0c0a95b..082f3f117 100644 --- a/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb +++ b/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb @@ -8,13 +8,12 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" inherit autotools pkgconfig -inherit phosphor-pid-control inherit obmc-phosphor-ipmiprovider-symlink inherit systemd S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/phosphor-pid-control" -SRCREV = "e30916c9ef6d363328b95c9947ac95d94a2b6a24" +SRCREV = "ca791156e2594ce7d25b42793a0a1b60d922fefd" # Each platform will need a service file that starts # at an appropriate time per system. For instance, if @@ -50,3 +49,8 @@ FILES_${PN}_append = " ${libdir}/net-ipmid/lib*${SOLIBS}" FILES_${PN}-dev_append = " ${libdir}/ipmid-providers/lib*${SOLIBSDEV} ${libdir}/ipmid-providers/*.la" HOSTIPMI_PROVIDER_LIBRARY += "libmanualcmds.so" + +config_datadir="${datadir}/swampd/" +# config_path is the location swampd expects to find a json configuration. +# the file is expected to be named config.json +config_path="${config_datadir}config.json" diff --git a/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update.bb b/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update.bb index fb1480fb1..503e836a8 100644 --- a/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update.bb +++ b/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update.bb @@ -4,9 +4,11 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda inherit systemd +SRC_URI += "file://noverify-bmc-update.service" SRC_URI += "file://noverify-bmc-verify.service" SRC_URI += "file://config-bmc.json" +SYSTEMD_SERVICE_${PN} += "noverify-bmc-update.service" SYSTEMD_SERVICE_${PN} += "noverify-bmc-verify.service" FILES_${PN} += "${datadir}/phosphor-ipmi-flash/config-bmc.json" @@ -15,5 +17,6 @@ do_install() { install -m 0644 ${WORKDIR}/config-bmc.json ${D}${datadir}/phosphor-ipmi-flash install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/noverify-bmc-update.service ${D}${systemd_system_unitdir} install -m 0644 ${WORKDIR}/noverify-bmc-verify.service ${D}${systemd_system_unitdir} } diff --git a/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/config-bmc.json b/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/config-bmc.json index 86afb3ba3..31df4a1ef 100644 --- a/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/config-bmc.json +++ b/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/config-bmc.json @@ -14,7 +14,7 @@ }, "update": { "type": "systemd", - "unit": "reboot.target" + "unit": "noverify-bmc-update.service" } } }] diff --git a/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/noverify-bmc-update.service b/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/noverify-bmc-update.service new file mode 100644 index 000000000..e30d64723 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/noverify-bmc-update.service @@ -0,0 +1,9 @@ +[Unit] +Description=Commit image for update and reboot + +[Service] +Type=oneshot +ExecStart=/bin/mv /run/initramfs/bmc-image-verified /run/initramfs/image-bmc +# This command is intentionally blocking to ensure this unit doesn't complete +# before the BMC reboots. +ExecStart=/usr/bin/systemctl start --job-mode=replace-irreversibly reboot.target diff --git a/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/noverify-bmc-verify.service b/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/noverify-bmc-verify.service index 50855b6b2..a535329fb 100644 --- a/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/noverify-bmc-verify.service +++ b/meta-phosphor/recipes-phosphor/flash/noverify-bmc-update/noverify-bmc-verify.service @@ -3,4 +3,4 @@ Description=Don't verify the image, just stage it for update [Service] Type=oneshot -ExecStart=/bin/mv /run/initramfs/bmc-image /run/initramfs/image-bmc +ExecStart=/bin/mv /run/initramfs/bmc-image /run/initramfs/bmc-image-verified diff --git a/meta-phosphor/recipes-phosphor/flash/phosphor-hostfw-image.bb b/meta-phosphor/recipes-phosphor/flash/phosphor-hostfw-image.bb new file mode 100644 index 000000000..a9123b1b4 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/flash/phosphor-hostfw-image.bb @@ -0,0 +1,31 @@ +SUMMARY = "Provides a host firmware image" +DESCRIPTION = "Use a bbappend to add the image files" +PR = "r1" + +inherit allarch +inherit deploy + +HOSTFW_LICENSE ?= "Apache-2.0" +HOSTFW_LIC_FILES_CHKSUM ?= "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +LICENSE = "${HOSTFW_LICENSE}" +LIC_FILES_CHKSUM = "${HOSTFW_LIC_FILES_CHKSUM}" + +do_compile() { + # The image directory can be used as the source to create a filesystem to + # add to the BMC image. + install -d ${B}/image + + # Install an image-hostfw file in the update directory to be included in + # the code update tarball. + install -d ${B}/update +} + +do_deploy() { + install -d ${DEPLOYDIR}/hostfw/image + install -d ${DEPLOYDIR}/hostfw/update + cp -R --no-dereference --preserve=mode,links ${B}/image/ ${DEPLOYDIR}/hostfw/ + cp -R --no-dereference --preserve=mode,links ${B}/update/ ${DEPLOYDIR}/hostfw/ +} + +addtask deploy before do_build after do_compile diff --git a/meta-phosphor/recipes-phosphor/flash/phosphor-logging-error-logs-native.bbappend b/meta-phosphor/recipes-phosphor/flash/phosphor-logging-error-logs-native.bbappend deleted file mode 100644 index beb70b0e6..000000000 --- a/meta-phosphor/recipes-phosphor/flash/phosphor-logging-error-logs-native.bbappend +++ /dev/null @@ -1 +0,0 @@ -DEPENDS += "phosphor-software-manager-error-native" diff --git a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager-yaml-provider_git.bb b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager-yaml-provider_git.bb new file mode 100644 index 000000000..84450eb61 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager-yaml-provider_git.bb @@ -0,0 +1,10 @@ +SUMMARY = "phosphor-software-manager: install phosphor-logging yaml" +PR = "r1" +PV = "1.0+git${SRCPV}" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +inherit phosphor-logging-yaml-provider +require phosphor-software-manager.inc + +S = "${WORKDIR}/git" diff --git a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc index 8bc566ff4..c941014d3 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 = "0d7198f4eb6d36968e854b3246e6568305fdcc7b" +SRCREV = "62f3820b3197e9f4cef781411d7d2e2f8fc36f71" diff --git a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager_git.bb b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager_git.bb index d83945ea4..d561eba48 100644 --- a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager_git.bb @@ -12,6 +12,7 @@ SOFTWARE_MGR_PACKAGES = " \ ${PN}-download-mgr \ ${PN}-updater \ ${PN}-updater-ubi \ + ${PN}-updater-mmc \ ${PN}-sync \ " PACKAGE_BEFORE_PN += "${SOFTWARE_MGR_PACKAGES}" @@ -23,18 +24,19 @@ DBUS_PACKAGES = "${SOFTWARE_MGR_PACKAGES}" # handles the rest. SYSTEMD_PACKAGES = "" -PACKAGECONFIG[verify_signature] = "--enable-verify_signature,--disable-verify_signature" -PACKAGECONFIG[sync_bmc_files] = "--enable-sync_bmc_files,--disable-sync_bmc_files" -PACKAGECONFIG[ubifs_layout] = "--enable-ubifs_layout" -PACKAGECONFIG[flash_bios] = "--enable-host_bios_upgrade" +PACKAGECONFIG[verify_signature] = "-Dverify-signature=enabled, -Dverify-signature=disabled" +PACKAGECONFIG[sync_bmc_files] = "-Dsync-bmc-files=enabled, -Dsync-bmc-files=disabled" +PACKAGECONFIG[ubifs_layout] = "-Dbmc-layout=ubi" +PACKAGECONFIG[mmc_layout] = "-Dbmc-layout=mmc" +PACKAGECONFIG[flash_bios] = "-Dhost-bios-upgrade=enabled, -Dhost-bios-upgrade=disabled" -inherit autotools pkgconfig +inherit meson pkgconfig inherit obmc-phosphor-dbus-service inherit python3native inherit ${@bb.utils.contains('DISTRO_FEATURES', 'obmc-ubi-fs', 'phosphor-software-manager-ubi-fs', '', d)} +inherit ${@bb.utils.contains('DISTRO_FEATURES', 'phosphor-mmc', 'phosphor-software-manager-mmc', '', d)} DEPENDS += " \ - autoconf-archive-native \ openssl \ phosphor-dbus-interfaces \ phosphor-logging \ @@ -45,10 +47,7 @@ DEPENDS += " \ RDEPENDS_${PN}-updater += " \ bash \ virtual-obmc-image-manager \ -" -EXTRA_OECONF += " \ - ACTIVE_BMC_MAX_ALLOWED=1 \ - MEDIA_DIR=/run/media \ + ${@bb.utils.contains('PACKAGECONFIG', 'verify_signature', 'phosphor-image-signing', '', d)} \ " RPROVIDES_${PN}-version += " \ 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 4bbfd1638..092f02a6d 100644 --- a/meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb +++ b/meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb @@ -44,5 +44,5 @@ FILES_${PN}-monitor += "${base_libdir}/udev/rules.d/99-gpio-keys.rules" FILES_${PN}-presence += "${bindir}/phosphor-gpio-presence" SRC_URI += "git://github.com/openbmc/phosphor-gpio-monitor" -SRCREV = "3b7f4fa427d1926d28d09aa9ecb4bc6e66256c9e" +SRCREV = "3ce88a7b5a1c17ca53b63859a5dad840a995f42e" S = "${WORKDIR}/git" diff --git a/meta-phosphor/recipes-phosphor/health/phosphor-health-monitor_git.bb b/meta-phosphor/recipes-phosphor/health/phosphor-health-monitor_git.bb new file mode 100644 index 000000000..fa9a63cdd --- /dev/null +++ b/meta-phosphor/recipes-phosphor/health/phosphor-health-monitor_git.bb @@ -0,0 +1,21 @@ +SUMMARY = "BMC Health Monitoring" +DESCRIPTION = "Daemon to collect and monitor bmc health statistics" +HOMEPAGE = "https://github.com/openbmc/phosphor-health-monitor" +PR = "r1" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=9e69ba356fa59848ffd865152a3ccc13" + +inherit meson pkgconfig +inherit systemd + +DEPENDS += "sdbusplus" +DEPENDS += "phosphor-dbus-interfaces" +DEPENDS += "sdeventplus" +DEPENDS += "phosphor-logging" +DEPENDS += "nlohmann-json" + +SRC_URI = "git://github.com/openbmc/phosphor-health-monitor.git;protocol=git" +SRCREV = "af9acbde4b4d782d78fc8af30059207974bcc186" +S = "${WORKDIR}/git" + +SYSTEMD_SERVICE_${PN} = "phosphor-health-monitor.service" diff --git a/meta-phosphor/recipes-phosphor/images/obmc-phosphor-image-base.bb b/meta-phosphor/recipes-phosphor/images/obmc-phosphor-image-base.bb new file mode 100644 index 000000000..2d9137705 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/images/obmc-phosphor-image-base.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "A basic OpenBMC image with no features enabled." + +IMAGE_LINGUAS = "" +LICENSE = "Apache-2.0" + +inherit obmc-phosphor-image + +# The /etc/version file is misleading and not useful. Remove it. +# Users should instead rely on /etc/os-release. +ROOTFS_POSTPROCESS_COMMAND += "remove_etc_version ; " + +# Disable the pager to prevent systemd injecting control characters into the +# output stream that are not interpreted by busybox tools. +ROOTFS_POSTPROCESS_COMMAND += "disable_systemd_pager ; " diff --git a/meta-phosphor/recipes-phosphor/images/obmc-phosphor-image.bb b/meta-phosphor/recipes-phosphor/images/obmc-phosphor-image.bb index eb82b3845..63908a145 100644 --- a/meta-phosphor/recipes-phosphor/images/obmc-phosphor-image.bb +++ b/meta-phosphor/recipes-phosphor/images/obmc-phosphor-image.bb @@ -1,6 +1,57 @@ -DESCRIPTION = "Image with Phosphor, an OpenBMC framework." +DESCRIPTION = "Image with Phosphor, a software stack for hardware management \ +in devices with baseboard management controllers. The image supports the \ +full OpenBMC feature set for devices of all types." IMAGE_LINGUAS = "" +IMAGE_FEATURES += " \ + obmc-bmc-state-mgmt \ + obmc-bmcweb \ + obmc-chassis-mgmt \ + obmc-chassis-state-mgmt \ + obmc-console \ + obmc-dbus-monitor \ + obmc-devtools \ + obmc-fan-control \ + obmc-fan-mgmt \ + obmc-flash-mgmt \ + obmc-fru-ipmi \ + obmc-health-monitor \ + obmc-host-ctl \ + obmc-host-ipmi \ + obmc-host-state-mgmt \ + obmc-ikvm \ + obmc-inventory \ + obmc-leds \ + obmc-logging-mgmt \ + obmc-remote-logging-mgmt \ + obmc-rng \ + obmc-net-ipmi \ + obmc-sensors \ + obmc-software \ + obmc-system-mgmt \ + obmc-user-mgmt \ + obmc-user-mgmt-ldap \ + ${@bb.utils.contains('DISTRO_FEATURES', 'obmc-ubi-fs', 'read-only-rootfs', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'phosphor-mmc', 'read-only-rootfs', '', d)} \ + ssh-server-dropbear \ + obmc-debug-collector \ + obmc-network-mgmt \ + obmc-settings-mgmt \ + " + +LICENSE = "Apache-2.0" + inherit obmc-phosphor-image +# The /etc/version file is misleading and not useful. Remove it. +# Users should instead rely on /etc/os-release. +ROOTFS_POSTPROCESS_COMMAND += "remove_etc_version ; " + +# Disable the pager to prevent systemd injecting control characters into the +# output stream that are not interpreted by busybox tools. +ROOTFS_POSTPROCESS_COMMAND += "disable_systemd_pager ; " + +# The shadow recipe provides the binaries(like useradd, usermod) needed by the +# phosphor-user-manager. +ROOTFS_RO_UNNEEDED_remove = "shadow" diff --git a/meta-phosphor/recipes-phosphor/images/obmc-phosphor-initramfs.bb b/meta-phosphor/recipes-phosphor/images/obmc-phosphor-initramfs.bb index 739aab50b..4c7237fca 100644 --- a/meta-phosphor/recipes-phosphor/images/obmc-phosphor-initramfs.bb +++ b/meta-phosphor/recipes-phosphor/images/obmc-phosphor-initramfs.bb @@ -2,7 +2,11 @@ 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} base-passwd ${ROOTFS_BOOTSTRAP_INSTALL} obmc-phosphor-initfs" +# Init scripts +INIT_PACKAGE = "obmc-phosphor-initfs" +INIT_PACKAGE_df-phosphor-mmc = "phosphor-mmc-init" + +PACKAGE_INSTALL = "${VIRTUAL-RUNTIME_base-utils} base-passwd ${ROOTFS_BOOTSTRAP_INSTALL} ${INIT_PACKAGE}" # Do not pollute the initrd image with rootfs features IMAGE_FEATURES = "read-only-rootfs" diff --git a/meta-phosphor/recipes-phosphor/initrdscripts/files/obmc-init.sh b/meta-phosphor/recipes-phosphor/initrdscripts/files/obmc-init.sh index 62be89f03..e61ede911 100644 --- a/meta-phosphor/recipes-phosphor/initrdscripts/files/obmc-init.sh +++ b/meta-phosphor/recipes-phosphor/initrdscripts/files/obmc-init.sh @@ -128,18 +128,25 @@ try_wget() { debug_takeover() { echo "$@" - test -n "$@" && echo Enter password to try to manually fix. + + if ! grep -w enable-initrd-debug-sh "$optfile" + then + echo "Fatal error, triggering kernel panic!" + exit 1 + fi + + test -n "$@" && echo Try to manually fix. cat << HERE After fixing run exit to continue this script, or reboot -f to retry, or touch /takeover and exit to become PID 1 allowing editing of this script. HERE - while ! sulogin && ! test -f /takeover + while ! /bin/sh && ! test -f /takeover do - echo getty failed, retrying + echo /bin/sh failed, retrying done - # Touch /takeover in the above getty to become pid 1 + # Touch /takeover in the above shell to become pid 1 if test -e /takeover then cat << HERE @@ -208,7 +215,12 @@ echo rofs = $rofs $rofst rwfs = $rwfs $rwfst if grep -w debug-init-sh $optfile then - debug_takeover "Debug initial shell requested by command line." + if grep -w enable-initrd-debug-sh "$optfile" + then + debug_takeover "Debug initial shell requested by command line." + else + echo "Need to also add enable-initrd-debug-sh for debug shell." + fi fi if test "x$consider_download_files" = xy && @@ -394,7 +406,7 @@ then Mounting read-write $rwdev filesystem failed. Please fix and run mount $rwdev $rwdir -t $rwfst -o $rwopts -to to continue, or do change nothing to run from RAM for this boot. +or perform a factory reset with the clean-rwfs-filesystem option. HERE debug_takeover "$msg" fi @@ -411,7 +423,7 @@ do Unable to confirm /sbin/init is an executable non-empty file in merged file system mounted at /root. -Change Root test failed! Invoking emergency shell. +Change Root test failed! HERE debug_takeover "$msg" done diff --git a/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init.bb b/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init.bb new file mode 100644 index 000000000..0c7a88cd9 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init.bb @@ -0,0 +1,27 @@ +SUMMARY = "Phosphor OpenBMC pre-init scripts for mmc" +DESCRIPTION = "Phosphor OpenBMC filesystem mount implementation for mmc." +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +PR = "r1" + +inherit allarch + +RDEPENDS_${PN} += " \ + ${VIRTUAL-RUNTIME_base-utils} \ + e2fsprogs-e2fsck \ + gptfdisk \ + parted \ + udev \ +" + +S = "${WORKDIR}" +SRC_URI += "file://mmc-init.sh" + +do_install() { + install -m 0755 ${WORKDIR}/mmc-init.sh ${D}/init + install -d ${D}/dev + mknod -m 622 ${D}/dev/console c 5 1 +} + +FILES_${PN} += " /init /dev " diff --git a/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init/mmc-init.sh b/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init/mmc-init.sh new file mode 100644 index 000000000..061757519 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init/mmc-init.sh @@ -0,0 +1,66 @@ +#!/bin/sh + +# Get the value of the root env variable found in /proc/cmdline +get_root() { + local root="$(cat /proc/cmdline)" + root="${root##* root=PARTLABEL=}" + root="${root%% *}" + [ "${root}" != "" ] && echo "${root}" +} + +fslist="proc sys dev run" +rodir=/mnt/rofs +cd / +mkdir -p $fslist +mount dev dev -tdevtmpfs +mount sys sys -tsysfs +mount proc proc -tproc +mount tmpfs run -t tmpfs -o mode=755,nodev + +# Wait up to 5s for the mmc device to appear. Continue even if the count is +# exceeded. A failure will be caught later like in the mount command. +mmcdev="/dev/mmcblk0" +count=0 +while [ $count -lt 5 ]; do + if [ -e "${mmcdev}" ]; then + break + fi + sleep 1 + count=$((count + 1)) +done + +# Move the secondary GPT to the end of the device if needed. Look for the GPT +# header signature "EFI PART" located 512 bytes from the end of the device. +magic=$(tail -c 512 "${mmcdev}" | hexdump -C -n 8 | grep "EFI PART") +if test -z "${magic}"; then + sgdisk -e "${mmcdev}" + partprobe +fi + +# There eMMC GPT labels for the rootfs are rofs-a and rofs-b, and the label for +# the read-write partition is rwfs. Run udev to make the partition labels show +# up. Mounting by label allows for partition numbers to change if needed. +udevd --daemon +udevadm trigger --type=devices --action=add +udevadm settle --timeout=10 + +mkdir -p $rodir +if ! mount /dev/disk/by-partlabel/"$(get_root)" $rodir -t ext4 -o ro; then + /bin/sh +fi + +rwfsdev="/dev/disk/by-partlabel/rwfs" +fsck.ext4 -p "${rwfsdev}" +if ! mount "${rwfsdev}" $rodir/var -t ext4 -o rw; then + /bin/sh +fi + +rm -rf $rodir/var/persist/etc-work/ +mkdir -p $rodir/var/persist/etc $rodir/var/persist/etc-work $rodir/var/persist/home/root +mount overlay $rodir/etc -t overlay -o lowerdir=$rodir/etc,upperdir=$rodir/var/persist/etc,workdir=$rodir/var/persist/etc-work + +for f in $fslist; do + mount --move $f $rodir/$f +done + +exec chroot $rodir /sbin/init diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb index 4dfbbcf27..6012ffe1f 100644 --- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb +++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb @@ -13,20 +13,28 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b" SRC_URI = "git://github.com/openbmc/bmcweb.git" PV = "1.0+git${SRCPV}" -SRCREV = "1bf712bcd6b8d06a5d412cdf03cdc05cb6d25901" +SRCREV = "929d4b57f10bc4200e16b71fbcf32521d8cc23c1" S = "${WORKDIR}/git" -DEPENDS = "openssl zlib boost libpam sdbusplus gtest nlohmann-json libtinyxml2 " +DEPENDS = "openssl \ + zlib \ + boost \ + boost-url \ + libpam \ + sdbusplus \ + gtest \ + nlohmann-json \ + libtinyxml2 " RDEPENDS_${PN} += "jsnbd" FILES_${PN} += "${datadir}/** " -inherit cmake +inherit meson -EXTRA_OECMAKE = "-DBMCWEB_BUILD_UT=OFF -DYOCTO_DEPENDENCIES=ON" +EXTRA_OEMESON = "--buildtype=minsize -Dtests=disabled -Dyocto-deps=enabled" SYSTEMD_SERVICE_${PN} += "bmcweb.service bmcweb.socket" -FULL_OPTIMIZATION = "-Os -pipe " +FULL_OPTIMIZATION = "-Os " diff --git a/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc b/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc index ff9889d5b..8490bab67 100644 --- a/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc +++ b/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc @@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-inventory-manager" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI = "git://github.com/openbmc/phosphor-inventory-manager" -SRCREV = "55f9eae440c883a32d9dfbdf51c6035555476c50" +SRCREV = "84b99d990c98897df049493eb73aa41b9b9b7adb" diff --git a/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager_git.bb b/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager_git.bb index 7fe311da5..1f108eb46 100644 --- a/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager_git.bb @@ -17,7 +17,6 @@ require phosphor-inventory-manager.inc DEPENDS += " \ phosphor-inventory-manager-assettag \ phosphor-dbus-interfaces \ - phosphor-dbus-interfaces-native \ phosphor-logging \ sdbusplus \ ${PYTHON_PN}-sdbus++-native \ @@ -40,7 +39,7 @@ EXTRA_OECONF = " \ BUSNAME=${OBMC_INVENTORY_MGR_IFACE} \ INVENTORY_ROOT=${OBMC_INVENTORY_PATH} \ IFACE=${OBMC_INVENTORY_MGR_IFACE} \ - IFACES_PATH=${STAGING_DIR_HOST}${yaml_dir} \ + IFACES_PATH=${STAGING_DIR_TARGET}${yaml_dir} \ " PACKAGECONFIG ??= "" diff --git a/meta-phosphor/recipes-phosphor/ipmi/ipmi-blob-tool_git.bb b/meta-phosphor/recipes-phosphor/ipmi/ipmi-blob-tool_git.bb index f871088df..23f14eb63 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/ipmi-blob-tool_git.bb +++ b/meta-phosphor/recipes-phosphor/ipmi/ipmi-blob-tool_git.bb @@ -14,4 +14,4 @@ EXTRA_OECONF = "--disable-tests" S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/ipmi-blob-tool" -SRCREV = "00f39b84037a840a1b169a8017be75ac6636cb6f" +SRCREV = "bae76647e7e5967a9e1a9729d7a74148f4b4a9ac" diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore_git.bb index 4d973f6e8..8f1d34b58 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore_git.bb +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore_git.bb @@ -17,7 +17,7 @@ DEPENDS += "protobuf" S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/phosphor-ipmi-blobs-binarystore" -SRCREV = "1a25e0d16ea5cb79d0942193bed92ac7dd287112" +SRCREV = "c3abe753fca211f49eb68f7d34e37bfc9eb5d4c4" FILES_${PN}_append = " ${libdir}/ipmid-providers/lib*${SOLIBS}" FILES_${PN}_append = " ${libdir}/blob-ipmid/lib*${SOLIBS}" diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb index 7d62fc7fc..2f9d7c184 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb @@ -16,7 +16,7 @@ DEPENDS += "ipmi-blob-tool" S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/phosphor-ipmi-blobs" -SRCREV = "03fd5b8b9e8fc0eb7f77c1a170fd2c0018ab9e63" +SRCREV = "99f25beb8cfb8a6704f2648ec47f066907403e55" FILES_${PN}_append = " ${libdir}/ipmid-providers/lib*${SOLIBS}" FILES_${PN}_append = " ${libdir}/host-ipmid/lib*${SOLIBS}" diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json index 7f26c247e..3b54d0c6c 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json @@ -165,7 +165,7 @@ } }, "15" : { - "name" : "SMS", + "name" : "ipmi_kcs3", "is_valid" : true, "active_sessions" : 0, "channel_info" : { diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb index 0b6701efd..6985a2617 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb @@ -14,7 +14,7 @@ DEPENDS += "phosphor-ipmi-host" S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/phosphor-ipmi-ethstats" -SRCREV = "7a1b2033e8cce2fe711d8a033885d9048325332d" +SRCREV = "75ca0187b1082683bd5663725dde02c465b0fc2c" FILES_${PN}_append = " ${libdir}/ipmid-providers/lib*${SOLIBS}" FILES_${PN}_append = " ${libdir}/host-ipmid/lib*${SOLIBS}" diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb index 5c8acc685..27c668985 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb @@ -45,7 +45,7 @@ EXTRA_OECONF_append = " MAPPED_ADDRESS=${IPMI_FLASH_BMC_ADDRESS}" S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/phosphor-ipmi-flash" -SRCREV = "6f61af8fd125400d064715559cfffba92afaecf6" +SRCREV = "85e54f1bf6867cb53723be1196da28225b6525d3" SYSTEMD_PACKAGES = "${PN}" SYSTEMD_SERVICE_${PN} += "phosphor-ipmi-flash-bmc-prepare.target \ diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc index 8a2e98f91..7f9c29ad4 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 = "3dc3558944da95b8b288fa1afc3aaa96d273383d" +SRCREV = "515bc375cb8daaee981bae97fa7ae80e7bf65c62" diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host/xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host/xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service index 600c86ac2..a3222a950 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host/xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host/xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service @@ -2,10 +2,11 @@ Description=Soft power off of the host Wants=mapper-wait@-org-openbmc-HostIpmi-1.service After=mapper-wait@-org-openbmc-HostIpmi-1.service -Wants=obmc-host-stopping@0.target -Before=obmc-host-stopping@0.target +Wants=obmc-host-stop-pre@0.target +Before=obmc-host-stop-pre@0.target Conflicts=obmc-host-start@0.target ConditionPathExists=!/run/openbmc/host@0-request +ConditionPathExists=!/lib/systemd/system/pldmSoftPowerOff.service [Service] Restart=no diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_git.bb index 26617a911..c3028ab73 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_git.bb +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_git.bb @@ -3,7 +3,7 @@ DESCRIPTION = "The IPMB bridge implements a Dbus compliant interface for \ implementing IPMB interfaces" SRC_URI = "git://github.com/openbmc/ipmbbridge.git" -SRCREV = "a86059348fe133725f4616f3e46ff0d555db4039" +SRCREV = "3e07b9ea353b794f9ef666172265ecc056e5cd4d" PV = "0.1+git${SRCPV}" LICENSE = "Apache-2.0" @@ -17,6 +17,6 @@ DEPENDS = "sdbusplus \ boost \ nlohmann-json" -S = "${WORKDIR}/git/" +S = "${WORKDIR}/git" inherit cmake systemd FILES_${PN} += "/usr/share/ipmbbridge/ipmb-channels.json" diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb index 15d08efce..a4d4b4bb2 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb @@ -30,4 +30,4 @@ DEPENDS += " \ S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/kcsbridge.git" -SRCREV = "58d596ad9625790b5e06804360aa161579364425" +SRCREV = "4a4d1d03d99fabe089e649aa226ad4c61e71684e" 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 b622f833e..b18ea0136 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb @@ -15,8 +15,10 @@ DEPENDS += "phosphor-mapper" DEPENDS += "systemd" DEPENDS += "phosphor-ipmi-host" +RRECOMMENDS_${PN} = "pam-ipmi" + SRC_URI += "git://github.com/openbmc/phosphor-net-ipmid" -SRCREV = "9d9b7638cb1e95989329680730ec272da786615f" +SRCREV = "07bb095158b39cedb49dae0972e489a6a2776faf" S = "${WORKDIR}/git" diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-config/config.yaml b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-config/config.yaml index 8188612b3..44caf9e4b 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-config/config.yaml +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-config/config.yaml @@ -271,7 +271,7 @@ cpucore_temp_sensor: Value: Offsets: 0xFF: - type: int64_t + type: double dimm_temp_sensor: serviceInterface: org.freedesktop.DBus.Properties @@ -289,7 +289,7 @@ dimm_temp_sensor: Value: Offsets: 0xFF: - type: int64_t + type: double vrm_vdd_temp_sensor: serviceInterface: org.freedesktop.DBus.Properties @@ -307,7 +307,7 @@ vrm_vdd_temp_sensor: Value: Offsets: 0xFF: - type: int64_t + type: double gpu_temp_sensor: serviceInterface: org.freedesktop.DBus.Properties @@ -325,7 +325,7 @@ gpu_temp_sensor: Value: Offsets: 0xFF: - type: int64_t + type: double memory_temp_sensor: serviceInterface: org.freedesktop.DBus.Properties @@ -343,7 +343,7 @@ memory_temp_sensor: Value: Offsets: 0xFF: - type: int64_t + type: double ps_derating_sensor: serviceInterface: org.freedesktop.DBus.Properties readingType: assertion diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager-yaml-provider_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager-yaml-provider_git.bb new file mode 100644 index 000000000..8c009fce3 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager-yaml-provider_git.bb @@ -0,0 +1,10 @@ +SUMMARY = "phosphor-led-manager: install phosphor-logging yaml" +PR = "r1" +PV = "1.0+git${SRCPV}" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +inherit phosphor-logging-yaml-provider +require phosphor-led-manager.inc + +S = "${WORKDIR}/git" diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc index 7b7790272..838c60a14 100644 --- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc +++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc @@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-led-manager" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-led-manager" -SRCREV = "d02c3cb424653592daade4419b53ee52c1105c03" +SRCREV = "4c5f53371272641f27b584530e594883fcd447ef" diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager/xyz.openbmc_project.LED.GroupManager.service b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager/xyz.openbmc_project.LED.GroupManager.service index 8e852a4f8..5e361a38c 100644 --- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager/xyz.openbmc_project.LED.GroupManager.service +++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager/xyz.openbmc_project.LED.GroupManager.service @@ -1,6 +1,8 @@ [Unit] Description=Phosphor LED Group Management Daemon Before=mapper-wait@-xyz-openbmc_project-led-groups.service +Wants=obmc-mapper.target +After=obmc-mapper.target [Service] Restart=always diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb index 9fdeea0f0..55171dbed 100644 --- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb @@ -27,12 +27,15 @@ DEPENDS += "autoconf-archive-native" DEPENDS += "sdbusplus ${PYTHON_PN}-sdbus++-native" DEPENDS += "systemd" DEPENDS += "phosphor-logging" +DEPENDS += "nlohmann-json" DEPENDS += "virtual/${PN}-config-native" +RDEPENDS_${PN}-ledmanager += "bash" + S = "${WORKDIR}/git" -FILES_${PN}-ledmanager += "${bindir}/phosphor-ledmanager" +FILES_${PN}-ledmanager += "${bindir}/phosphor-ledmanager ${bindir}/led-set-all-groups-asserted.sh" FILES_${PN}-faultmonitor += "${bindir}/phosphor-fru-fault-monitor" DBUS_SERVICE_${PN}-ledmanager += "xyz.openbmc_project.LED.GroupManager.service" diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb index 052aa850e..c3768c9d9 100644 --- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb +++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb @@ -19,7 +19,7 @@ DBUS_SERVICE_${PN} += "xyz.openbmc_project.led.controller@.service" SRC_URI += "git://github.com/openbmc/phosphor-led-sysfs" SRC_URI += "file://70-leds.rules" -SRCREV = "ca3dd7dd91830515251bbf91ba0644052c630be2" +SRCREV = "61b906367119b794a9788725fad86a3174bd83c0" S = "${WORKDIR}/git" do_install_append() { diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-logging-error-logs-native.bbappend b/meta-phosphor/recipes-phosphor/leds/phosphor-logging-error-logs-native.bbappend deleted file mode 100644 index 3f2c5c811..000000000 --- a/meta-phosphor/recipes-phosphor/leds/phosphor-logging-error-logs-native.bbappend +++ /dev/null @@ -1 +0,0 @@ -DEPENDS += "phosphor-led-manager-error-native" diff --git a/meta-phosphor/recipes-phosphor/logging/ffdc_git.bb b/meta-phosphor/recipes-phosphor/logging/ffdc_git.bb index 750a6dff1..5c8f8aebc 100644 --- a/meta-phosphor/recipes-phosphor/logging/ffdc_git.bb +++ b/meta-phosphor/recipes-phosphor/logging/ffdc_git.bb @@ -15,7 +15,7 @@ RDEPENDS_${PN} += " \ S = "${WORKDIR}/git" SRC_URI += "git://github.com/openbmc/phosphor-debug-collector" -SRCREV = "984a98f79022c60c51a465d4bbde1247d0f69b3e" +SRCREV = "8b9b4690a4460ada5bf60a285ff6065eda6d5d4a" do_install() { install -d ${D}${bindir} diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb index 24749c027..8816f1ab6 100644 --- a/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb +++ b/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb @@ -4,9 +4,7 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-hostlogger" PR = "r1" PV = "1.0+git${SRCPV}" -inherit autotools -inherit pkgconfig -inherit python3native +inherit meson inherit systemd # License info @@ -14,27 +12,55 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" # Dependencies -DEPENDS += "\ - autoconf-archive-native \ - sdbusplus \ - ${PYTHON_PN}-sdbus++-native \ - phosphor-dbus-interfaces \ +DEPENDS += " \ + phosphor-logging \ + zlib \ " RDEPENDS_${PN} += "obmc-console" RRECOMMENDS_${PN} += "phosphor-debug-collector" -# systemd service setup +# Source code repository +S = "${WORKDIR}/git" +SRC_URI = "git://github.com/openbmc/phosphor-hostlogger" +SRCREV = "e9af83c6f5cc14a7493de5359b3c65b8832c99f0" + +# Systemd service template SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE_${PN} = "hostlogger.service" +SYSTEMD_SERVICE_${PN} = "hostlogger@.service" -# Host TTY setup -OBMC_CONSOLE_HOST_TTY ?= "ttyVUART0" +# Default service instance to install (single-host mode) +DEFAULT_INSTANCE = "ttyVUART0" +DEFAULT_SERVICE = "hostlogger@${DEFAULT_INSTANCE}.service" -# Extra parameters for 'configure' script -EXTRA_OECONF = "HOST_TTY=${OBMC_CONSOLE_HOST_TTY} \ - SYSTEMD_TARGET=multi-user.target" +# Multi-host mode setup - list of configuration files to install, can be added +# via SRC_URI in a bbappend. The file name is the name of the service instance, +# which should match the corresponding instance of the obmc-console service. +CUSTOM_CONFIGS = "${@custom_configs('${WORKDIR}')}" +CUSTOM_SERVICES = "${@custom_services('${CUSTOM_CONFIGS}')}" -# Source code repository -S = "${WORKDIR}/git" -SRC_URI = "git://github.com/openbmc/phosphor-hostlogger" -SRCREV = "ea31658b6df1c51b28ed28e3e459a64fb8d13da8" +# Preset systemd units +SYSTEMD_SERVICE_${PN} += "${@'${CUSTOM_SERVICES}' if len('${CUSTOM_SERVICES}') \ + else '${DEFAULT_SERVICE}'}" + +# Gets list of custom config files in a directory +def custom_configs(workdir): + if os.path.exists(workdir): + return ' '.join([f for f in os.listdir(workdir) if f.endswith('.conf')]) + +# Get list of custom service instances +def custom_services(configs): + return ' '.join(['hostlogger@' + i.replace('.conf', '.service') \ + for i in configs.split()]) + +do_install_append() { + # Install config files + if [ -n "${CUSTOM_CONFIGS}" ]; then + for CONFIG_FILE in ${CUSTOM_CONFIGS}; do + install -Dm 0644 ${WORKDIR}/${CONFIG_FILE} \ + ${D}${sysconfdir}/hostlogger/${CONFIG_FILE} + done + else + install -Dm 0644 ${S}/default.conf \ + ${D}${sysconfdir}/hostlogger/${DEFAULT_INSTANCE}.conf + fi +} 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 deleted file mode 100644 index 23464ebbd..000000000 --- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging-error-logs-native.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Phosphor OpenBMC - error log meta data generation" -PR = "r1" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" - -inherit native - -#To append new recipes that copies error yaml files to the known -#location, add DEPENDS relationhip using bbappend to -#phosphor-logging-error-log-native recipe with the native -#recipe name - -#Refer to openpower-debug-collector-error-native.bb to see how -#to copy error yaml files to a known location diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb index 7e36d7871..cf068c9d7 100644 --- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb +++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb @@ -20,12 +20,11 @@ DEPENDS += "${PYTHON_PN}-pyyaml-native" DEPENDS += "${PYTHON_PN}-native" DEPENDS += "${PYTHON_PN}-sdbus++-native" DEPENDS += "sdbusplus" -DEPENDS += "phosphor-dbus-interfaces phosphor-dbus-interfaces-native" +DEPENDS += "phosphor-dbus-interfaces" DEPENDS += "virtual/phosphor-logging-callouts" -DEPENDS += "phosphor-logging-error-logs-native" -DEPENDS += "phosphor-logging-native" DEPENDS += "libcereal" DEPENDS += "sdeventplus" +DEPENDS_append_class-target = " packagegroup-obmc-yaml-providers" PACKAGE_BEFORE_PN = "${PN}-test" FILES_${PN}-test = "${bindir}/*-test" @@ -56,7 +55,7 @@ FILES_phosphor-rsyslog-config += " \ " SRC_URI += "git://github.com/openbmc/phosphor-logging" -SRCREV = "0649b985860f7e0dc75e044f4b7598b767c94a9f" +SRCREV = "1ab6696f0103d60ffb398b45d3fcd1afeeff6a4e" S = "${WORKDIR}/git" @@ -98,7 +97,7 @@ PACKAGECONFIG[openpower-pels] = " \ --enable-openpower-pel-extension, \ --disable-openpower-pel-extension, \ nlohmann-json nlohmann-fifo cli11 pldm, \ - , \ + python3, \ " # Enable install_scripts during native and native SDK build @@ -109,7 +108,7 @@ PACKAGECONFIG_add_class-nativesdk = "install_scripts" PACKAGECONFIG_remove_class-target = "install_scripts" EXTRA_OECONF = " \ - YAML_DIR=${STAGING_DIR_NATIVE}${yaml_dir} \ + YAML_DIR=${STAGING_DIR_TARGET}${yaml_dir} \ CALLOUTS_YAML=${STAGING_DIR_NATIVE}${callouts_datadir}/callouts.yaml \ " diff --git a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb index a2577cfc4..1d30a775d 100644 --- a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb +++ b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb @@ -11,7 +11,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=0d30807bb7a4f16d36e96b78f9ed8fae" SRC_URI = "git://github.com/openbmc/libmctp \ file://default" -SRCREV = "34b9b3d82b049610775aea4460ff0f3bb9f02b1d" +SRCREV = "c2b833e40ddb858a94734f77a0bd761b76733c65" CONFFILES_${PN} = "${sysconfdir}/default/mctp" DEPENDS += "autoconf-archive-native \ diff --git a/meta-phosphor/recipes-phosphor/misc/phosphor-misc_git.bb b/meta-phosphor/recipes-phosphor/misc/phosphor-misc_git.bb new file mode 100644 index 000000000..ee5bc4f64 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/misc/phosphor-misc_git.bb @@ -0,0 +1,61 @@ +SUMMARY = "Miscellaneous OpenBMC functions" +HOMEPAGE = "https://github.com/openbmc/phosphor-misc" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" +PR = "r1" +PV = "1.0+git${SRCPV}" + +SRC_URI = "git://github.com/openbmc/phosphor-misc" +SRCREV = "75d4734fb8bc390d97106544af8f2ffd2d9bf02c" + +S = "${WORKDIR}/git" + +inherit meson +inherit pkgconfig +inherit systemd + +DEPENDS = "systemd" + +PHOSPHOR_MISC_PACKAGES = " \ + ${@bb.utils.contains('PACKAGECONFIG', 'first-boot-set-hostname', '${PN}-first-boot-set-hostname', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'first-boot-set-mac', '${PN}-first-boot-set-mac', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'http-redirect-awk', '${PN}-http-redirect-awk', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'usb-ctrl', '${PN}-usb-ctrl', '', d)} \ + " + +PACKAGES_remove = "${PN}" +RDEPENDS_${PN}-dev = "" + +PACKAGE_BEFORE_PN += "${PHOSPHOR_MISC_PACKAGES}" +SYSTEMD_PACKAGES = "${PHOSPHOR_MISC_PACKAGES}" + +PACKAGECONFIG ??= " \ + first-boot-set-hostname \ + first-boot-set-mac \ + http-redirect-awk \ + usb-ctrl \ + " + +PACKAGECONFIG[first-boot-set-hostname] = "-Dfirst-boot-set-hostname=enabled, -Dfirst-boot-set-hostname=disabled" +PACKAGECONFIG[first-boot-set-mac] = "-Dfirst-boot-set-mac=enabled, -Dfirst-boot-set-mac=disabled" +PACKAGECONFIG[http-redirect-awk] = "-Dhttp-redirect=enabled, -Dhttp-redirect=disabled" +PACKAGECONFIG[usb-ctrl] = "-Dusb-ctrl=enabled, -Dusb-ctrl=disabled" + +# first-boot-set-hostname +FILES_${PN}-first-boot-set-hostname = "${bindir}/first-boot-set-hostname.sh" +SYSTEMD_SERVICE_${PN}-first-boot-set-hostname = "first-boot-set-hostname.service" + +# first-boot-set-mac +FILES_${PN}-first-boot-set-mac = "${bindir}/first-boot-set-mac.sh" +SYSTEMD_SERVICE_${PN}-first-boot-set-mac = "first-boot-set-mac@.service" + +# http-redirect-awk +FILES_${PN}-http-redirect-awk = "${bindir}/http-redirect.awk" +SYSTEMD_SERVICE_${PN}-http-redirect-awk = " \ + http-redirect@.service \ + http-redirect.socket \ + " +RDEPENDS_${PN}-http-redirect-awk = "${VIRTUAL-RUNTIME_base-utils}" + +# usb-ctrl +FILES_${PN}-usb-ctrl = "${bindir}/usb-ctrl" diff --git a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb index 0928c95ff..72f49a5bc 100644 --- a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb +++ b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb @@ -16,9 +16,16 @@ DEPENDS += "systemd" DEPENDS += "autoconf-archive-native" DEPENDS += "sdbusplus ${PYTHON_PN}-sdbus++-native" DEPENDS += "sdeventplus" -DEPENDS += "phosphor-dbus-interfaces phosphor-dbus-interfaces-native" +DEPENDS += "phosphor-dbus-interfaces" DEPENDS += "phosphor-logging" DEPENDS += "libnl" +DEPENDS += "stdplus" +DEPENDS += "nlohmann-json" + +PACKAGECONFIG ??= "uboot-env" + +UBOOT_ENV_RDEPENDS = "${@d.getVar('PREFERRED_PROVIDER_u-boot-fw-utils', True) or 'u-boot-fw-utils'}" +PACKAGECONFIG[uboot-env] = "--with-uboot-env,--without-uboot-env,,${UBOOT_ENV_RDEPENDS}" S = "${WORKDIR}/git" diff --git a/meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb b/meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb index fdccf1f1b..aa4c05b04 100644 --- a/meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb +++ b/meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb @@ -19,7 +19,7 @@ DBUS_SERVICE_${PN} += "xyz.openbmc_project.Network.SNMP.service" DEPENDS += "systemd" DEPENDS += "autoconf-archive-native" DEPENDS += "sdbusplus ${PYTHON_PN}-sdbus++-native" -DEPENDS += "phosphor-dbus-interfaces phosphor-dbus-interfaces-native" +DEPENDS += "phosphor-dbus-interfaces" DEPENDS += "phosphor-logging" DEPENDS += "net-snmp" diff --git a/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb b/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb index 8e6fe769c..e080ff635 100644 --- a/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb +++ b/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb @@ -6,16 +6,22 @@ inherit packagegroup PROVIDES = "${PACKAGES}" PACKAGES = " \ ${PN}-bmc-state-mgmt \ + ${PN}-bmcweb \ ${PN}-chassis-state-mgmt \ + ${PN}-console \ + ${PN}-dbus-monitor \ ${PN}-extras \ - ${PN}-extrasdev \ - ${PN}-extrasdevtools \ + ${PN}-devtools \ ${PN}-fan-control \ + ${PN}-fru-ipmi \ + ${PN}-health-monitor \ ${PN}-host-state-mgmt \ + ${PN}-ikvm \ ${PN}-inventory \ ${PN}-leds \ ${PN}-logging \ ${PN}-remote-logging \ + ${PN}-rng \ ${PN}-sensors \ ${PN}-software \ ${PN}-host-check-mgmt \ @@ -23,6 +29,7 @@ PACKAGES = " \ ${PN}-settings \ ${PN}-network \ ${PN}-user-mgmt \ + ${PN}-user-mgmt-ldap \ " SUMMARY_${PN}-bmc-state-mgmt = "BMC state management" @@ -31,30 +38,40 @@ RDEPENDS_${PN}-bmc-state-mgmt = " \ phosphor-state-manager-systemd-target-monitor \ " +SUMMARY_${PN}-bmcweb = "bmcweb support" +RDEPENDS_${PN}-bmcweb = " \ + bmcweb \ + phosphor-bmcweb-cert-config \ + " + SUMMARY_${PN}-chassis-state-mgmt = "Chassis state management" RDEPENDS_${PN}-chassis-state-mgmt = " \ ${VIRTUAL-RUNTIME_obmc-chassis-state-manager} \ obmc-phosphor-power \ " -SUMMARY_${PN}-extras = "Extra features" -RDEPENDS_${PN}-extras = " \ - bmcweb \ - phosphor-bmcweb-cert-config \ - phosphor-nslcd-cert-config \ - phosphor-nslcd-authority-cert-config \ - obmc-ikvm \ - phosphor-dbus-monitor \ - phosphor-systemd-policy \ +SUMMARY_${PN}-console = "Serial over LAN support" +RDEPENDS_${PN}-console = " \ + obmc-console \ " -SUMMARY_${PN}-extrasdev = "Development features" -RDEPENDS_${PN}-extrasdev = " \ - " +# Deprecated - add new packages to an existing packagegroup or create a new one. +SUMMARY_${PN}-extras = "Extra features" +RDEPENDS_${PN}-extras = "" -SUMMARY_${PN}-extrasdevtools = "Development tools" -RDEPENDS_${PN}-extrasdevtools = " \ +SUMMARY_${PN}-devtools = "Development tools" +RDEPENDS_${PN}-devtools = " \ + bash \ + ffdc \ + i2c-tools \ libgpiod-tools \ + lrzsz \ + rsync \ + " + +SUMMARY_${PN}-dbus-monitor = "Support for dbus monitoring" +RDEPENDS_${PN}-dbus-monitor = " \ + phosphor-dbus-monitor \ " # Use the fan control package group for applications @@ -67,12 +84,27 @@ RDEPENDS_${PN}-fan-control = " \ phosphor-fan-monitor \ " +SUMMARY_${PN}-fru-ipmi = "Support for EEPROMS with IPMI FRU" +RDEPENDS_${PN}-fru-ipmi = " \ + fru-device \ + " + +SUMMARY_${PN}-health-monitor = "Support for health monitoring" +RDEPENDS_${PN}-health-monitor = " \ + phosphor-health-monitor \ + " + SUMMARY_${PN}-host-state-mgmt = "Host state management" RDEPENDS_${PN}-host-state-mgmt = " \ ${VIRTUAL-RUNTIME_obmc-host-state-manager} \ ${VIRTUAL-RUNTIME_obmc-discover-system-state} \ " +SUMMARY_${PN}-ikvm = "KVM over IP support" +RDEPENDS_${PN}-ikvm = " \ + obmc-ikvm \ + " + SUMMARY_${PN}-inventory = "Inventory applications" RDEPENDS_${PN}-inventory = " \ ${VIRTUAL-RUNTIME_obmc-inventory-manager} \ @@ -97,6 +129,11 @@ RDEPENDS_${PN}-remote-logging = " \ phosphor-rsyslog-config \ " +SUMMARY_${PN}-rng = "Random Number Generator support" +RDEPENDS_${PN}-rng = " \ + rng-tools \ + " + SUMMARY_${PN}-sensors = "Sensor applications" RDEPENDS_${PN}-sensors = " \ ${VIRTUAL-RUNTIME_obmc-sensors-hwmon} \ @@ -105,10 +142,13 @@ RDEPENDS_${PN}-sensors = " \ ${PN}-software-extras = "" ${PN}-software-extras_df-obmc-ubi-fs = " \ - phosphor-image-signing \ phosphor-software-manager-updater-ubi \ " +${PN}-software-extras_df-phosphor-mmc = " \ + phosphor-software-manager-updater-mmc \ + " + SUMMARY_${PN}-software = "Software applications" RDEPENDS_${PN}-software = " \ ${VIRTUAL-RUNTIME_obmc-bmc-download-mgr} \ @@ -138,6 +178,16 @@ RDEPENDS_${PN}-network = " \ SUMMARY_${PN}-user-mgmt = "User management applications" RDEPENDS_${PN}-user-mgmt = " \ ${VIRTUAL-RUNTIME_obmc-user-mgmt} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', 'nss-pam-ldapd', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ldap', 'phosphor-ldap', '', d)} \ + " +RRECOMMENDS_${PN}-user-mgmt = " \ + pam-plugin-access \ + " + +SUMMARY_${PN}-user-mgmt-ldap = "LDAP users and groups support" +RDEPENDS_${PN}-user-mgmt-ldap = " \ + ${PN}-user-mgmt \ + nss-pam-ldapd \ + phosphor-ldap \ + phosphor-nslcd-cert-config \ + phosphor-nslcd-authority-cert-config \ " diff --git a/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-yaml-providers.bb b/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-yaml-providers.bb new file mode 100644 index 000000000..783ce40ce --- /dev/null +++ b/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-yaml-providers.bb @@ -0,0 +1,19 @@ +SUMMARY = "Phosphor OpenBMC - YAML Providers" +PR = "r1" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +# This is a packagegroup in name and principle but we do not want to inherit +# from packagegroup.bbclass. The point of this packagegroup is to get the +# sysroot populated with YAML files from the DEPENDS packages and if we inherit +# the packagegroup bbclass this doesn't happen, because that bbclass `deltask` +# a number that are required. +# inherit packagegroup + +OBMC_YAML_PROVIDER_RECIPES += " \ + phosphor-led-manager-yaml-provider \ + phosphor-software-manager-yaml-provider \ + " + +DEPENDS = "${OBMC_YAML_PROVIDER_RECIPES}" +RDEPENDS_${PN} = "${OBMC_YAML_PROVIDER_RECIPES}" diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index 60a42814b..760da0294 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "fd972645a84b3cc9454c680b2f9cdb758a2fe55c" +SRCREV = "30450fe332d30dc658892c16f6ef303a7db19441" diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm_git.bb b/meta-phosphor/recipes-phosphor/pldm/pldm_git.bb index d8dcd0d2c..1c07ad59d 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm_git.bb +++ b/meta-phosphor/recipes-phosphor/pldm/pldm_git.bb @@ -4,6 +4,7 @@ PR = "r1" PV = "1.0+git${SRCPV}" inherit meson pkgconfig +inherit systemd require pldm.inc @@ -15,7 +16,33 @@ DEPENDS += "cli11" S = "${WORKDIR}/git" +SYSTEMD_SERVICE_${PN} += "pldmd.service" +SYSTEMD_SERVICE_${PN} += "pldmSoftPowerOff.service" + EXTRA_OEMESON = " \ -Dtests=disabled \ -Doem-ibm=disabled \ " + +# Install pldmSoftPowerOff.service in correct targets +pkg_postinst_${PN} () { + + mkdir -p $D$systemd_system_unitdir/obmc-host-shutdown@0.target.requires + LINK="$D$systemd_system_unitdir/obmc-host-shutdown@0.target.requires/pldmSoftPowerOff.service" + TARGET="../pldmSoftPowerOff.service" + ln -s $TARGET $LINK + + mkdir -p $D$systemd_system_unitdir/obmc-host-warm-reboot@0.target.requires + LINK="$D$systemd_system_unitdir/obmc-host-warm-reboot@0.target.requires/pldmSoftPowerOff.service" + TARGET="../pldmSoftPowerOff.service" + ln -s $TARGET $LINK +} + +pkg_prerm_${PN} () { + + LINK="$D$systemd_system_unitdir/obmc-host-shutdown@0.target.requires/pldmSoftPowerOff.service" + rm $LINK + + LINK="$D$systemd_system_unitdir/obmc-host-warm-reboot@0.target.requires/pldmSoftPowerOff.service" + rm $LINK +} diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc index c7c0a9485..5efbefb04 100644 --- a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc +++ b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc @@ -2,4 +2,4 @@ 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/phosphor-power" -SRCREV = "89283d10ec148cdcdf14738bfe5991866d0a3cf8" +SRCREV = "d58858ca029f432b3a98f777d3b1fbfb7ff00245" diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-power_git.bb b/meta-phosphor/recipes-phosphor/power/phosphor-power_git.bb index 8c68d91e0..012b4939e 100644 --- a/meta-phosphor/recipes-phosphor/power/phosphor-power_git.bb +++ b/meta-phosphor/recipes-phosphor/power/phosphor-power_git.bb @@ -27,11 +27,8 @@ ALLOW_EMPTY_${PN} = "1" SYSTEMD_PACKAGES = "${POWER_SERVICE_PACKAGES}" -# TODO: in future when openpower-dbus-interfaces is removed from -# phosphor-power, remove the dependency here. DEPENDS += " \ phosphor-logging \ - openpower-dbus-interfaces \ ${PYTHON_PN}-sdbus++-native \ sdeventplus \ nlohmann-json \ diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-psu-software-manager_git.bb b/meta-phosphor/recipes-phosphor/power/phosphor-psu-software-manager_git.bb index 14cf6ac01..42b63e151 100644 --- a/meta-phosphor/recipes-phosphor/power/phosphor-psu-software-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/power/phosphor-psu-software-manager_git.bb @@ -2,7 +2,7 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-psu-code-mgmt" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI += "git://github.com/openbmc/phosphor-psu-code-mgmt" -SRCREV = "bfa8d16f364ca16bd0c8101ad285bd78bd54d751" +SRCREV = "de27029319bf04250d7660976091b7c297ed3c41" SUMMARY = "Phosphor PSU software manager" DESCRIPTION = "Providing PSU firmware version and upgrade" 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 e09f3ffe8..37d67f8a6 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 @@ -10,7 +10,7 @@ DESCRIPTION = "Utility to write IPMI SEL records to the journal" # Monitors and logs SEL records for threshold sensor events inherit cmake systemd -S = "${WORKDIR}/git/" +S = "${WORKDIR}/git" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" @@ -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 = "761bf202ba9db9fe644f8f400a5e768abe1a70cf" +SRCREV = "df7bc1c6951fb7dd2776008aa0b7dc6bea44bed4" 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 dc78f4f68..238f43310 100644 --- a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb +++ b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb @@ -2,26 +2,66 @@ SUMMARY = "dbus-sensors" DESCRIPTION = "Dbus Sensor Services Configured from D-Bus" SRC_URI = "git://github.com/openbmc/dbus-sensors.git" -SRCREV = "38fb598381a9fc7c4e2bbd7b585f788d0c7353e5" +SRCREV = "3bcd823e3783bc49c1e75dec2d43a3ef54333c88" PV = "0.1+git${SRCPV}" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" -SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.fansensor.service" -SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.adcsensor.service" -SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.hwmontempsensor.service" -SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.cpusensor.service" -SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.exitairsensor.service" -SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.ipmbsensor.service" -SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.intrusionsensor.service" -SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.psusensor.service" -SYSTEMD_SERVICE_${PN} += " xyz.openbmc_project.mcutempsensor.service" +PACKAGECONFIG ??= " \ + adcsensor \ + cpusensor \ + exitairtempsensor \ + fansensor \ + hwmontempsensor \ + intrusionsensor \ + ipmbsensor \ + mcutempsensor \ + psusensor \ + " + +PACKAGECONFIG[adcsensor] = "-DDISABLE_ADC=OFF, -DDISABLE_ADC=ON" +PACKAGECONFIG[cpusensor] = "-DDISABLE_CPU=OFF, -DDISABLE_CPU=ON" +PACKAGECONFIG[exitairtempsensor] = "-DDISABLE_EXIT_AIR=OFF, -DDISABLE_EXIT_AIR=ON" +PACKAGECONFIG[fansensor] = "-DDISABLE_FAN=OFF, -DDISABLE_FAN=ON" +PACKAGECONFIG[hwmontempsensor] = "-DDISABLE_HWMON_TEMP=OFF, -DDISABLE_HWMON_TEMP=ON" +PACKAGECONFIG[intrusionsensor] = "-DDISABLE_INTRUSION=OFF, -DDISABLE_INTRUSION=ON" +PACKAGECONFIG[ipmbsensor] = "-DDISABLE_IPMB=OFF, -DDISABLE_IPMB=ON" +PACKAGECONFIG[mcutempsensor] = "-DDISABLE_MCUTEMP=OFF, -DDISABLE_MCUTEMP=ON" +PACKAGECONFIG[psusensor] = "-DDISABLE_PSU=OFF, -DDISABLE_PSU=ON" + +SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'adcsensor', \ + 'xyz.openbmc_project.adcsensor.service', \ + '', d)}" +SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'cpusensor', \ + 'xyz.openbmc_project.cpusensor.service', \ + '', d)}" +SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'exitairtempsensor', \ + 'xyz.openbmc_project.exitairsensor.service', \ + '', d)}" +SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'fansensor', \ + 'xyz.openbmc_project.fansensor.service', \ + '', d)}" +SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'hwmontempsensor', \ + 'xyz.openbmc_project.hwmontempsensor.service', \ + '', d)}" +SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'intrusionsensor', \ + 'xyz.openbmc_project.intrusionsensor.service', \ + '', d)}" +SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'ipmbsensor', \ + 'xyz.openbmc_project.ipmbsensor.service', \ + '', d)}" +SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'mcutempsensor', \ + 'xyz.openbmc_project.mcutempsensor.service', \ + '', d)}" +SYSTEMD_SERVICE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'psusensor', \ + 'xyz.openbmc_project.psusensor.service', \ + '', d)}" DEPENDS = "boost nlohmann-json sdbusplus i2c-tools libgpiod" inherit cmake systemd -S = "${WORKDIR}/git/" +S = "${WORKDIR}/git" EXTRA_OECMAKE = "-DYOCTO=1" diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb index 5ccf99cac..e04cf51c9 100644 --- a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb +++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb @@ -40,7 +40,7 @@ SRC_URI += "file://70-hwmon.rules" SRC_URI += "file://70-iio.rules" SRC_URI += "file://start_hwmon.sh" -SRCREV = "5906173aec2a48f37d1356f1ade788c8d25530b2" +SRCREV = "7ab1b25b50bd4f68062c6a07200f8f69f09d3387" S = "${WORKDIR}/git" diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb index 9edd32223..ed32f379c 100644 --- a/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb +++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb @@ -15,7 +15,7 @@ DEPENDS += "phosphor-logging" DEPENDS += "nlohmann-json" SRC_URI = "git://github.com/openbmc/phosphor-nvme.git;protocol=git" -SRCREV = "05eedaa80eef276b6ecee9d4fb721a523d2d999c" +SRCREV = "9b771e221e3854bbbf45a56bbcab97c62b0a05ec" S = "${WORKDIR}/git" SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.nvme.manager.service" diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb new file mode 100644 index 000000000..3a25890b9 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb @@ -0,0 +1,22 @@ +SUMMARY = "Virtual Sensors" +DESCRIPTION = "virtual sensors created from existing sensors and config data" +HOMEPAGE = "https://github.com/openbmc/phosphor-virtual-sensor" +PR = "r1" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=9e69ba356fa59848ffd865152a3ccc13" + +inherit meson pkgconfig +inherit systemd + +DEPENDS += "sdbusplus" +DEPENDS += "phosphor-dbus-interfaces" +DEPENDS += "sdeventplus" +DEPENDS += "phosphor-logging" +DEPENDS += "nlohmann-json" +DEPENDS += "exprtk" + +SRC_URI = "git://github.com/openbmc/phosphor-virtual-sensor.git;protocol=git" +SRCREV = "f8db722567d16b93bde7d37d3d7a6e83d08373aa" +S = "${WORKDIR}/git" + +SYSTEMD_SERVICE_${PN} = "phosphor-virtual-sensor.service" diff --git a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-defaults/defaults.yaml b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-defaults/defaults.yaml index 25458155f..f2df02d32 100644 --- a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-defaults/defaults.yaml +++ b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-defaults/defaults.yaml @@ -10,6 +10,12 @@ AutoReboot: Default: 'true' +/xyz/openbmc_project/control/host0/auto_reboot/one_time: + - Interface: xyz.openbmc_project.Control.Boot.RebootPolicy + Properties: + AutoReboot: + Default: 'true' + /xyz/openbmc_project/control/host0/boot: - Interface: xyz.openbmc_project.Control.Boot.Source Properties: diff --git a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager_git.bb b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager_git.bb index 85a63d243..5fcaa5902 100644 --- a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager_git.bb @@ -17,9 +17,9 @@ DEPENDS += "${PYTHON_PN}-pyyaml-native" DEPENDS += "${PYTHON_PN}-mako-native" DEPENDS += "autoconf-archive-native" DEPENDS += "virtual/phosphor-settings-defaults" -DEPENDS += "${@df_enabled(d, 'obmc-mrw', 'phosphor-settings-read-settings-mrw-native')}" +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'obmc-mrw', 'phosphor-settings-read-settings-mrw-native', '', d)}" DEPENDS += "sdbusplus" -DEPENDS += "phosphor-dbus-interfaces phosphor-dbus-interfaces-native" +DEPENDS += "phosphor-dbus-interfaces" DEPENDS += "phosphor-logging" DEPENDS += "libcereal" @@ -47,7 +47,7 @@ python do_merge_settings () { cmd.append(os.path.join(workdir, 'merge_settings.py')) cmd.append(os.path.join(settingsdir, 'defaults.yaml')) # Used for any settings from the MRW - use_mrw = df_enabled(d, 'obmc-mrw', 'true') + use_mrw = bb.utils.contains('DISTRO_FEATURES', 'obmc-mrw', 'true', '', d) if (use_mrw == 'true'): cmd.append(os.path.join(settingsdir, 'mrw-settings.override.yaml')) diff --git a/meta-phosphor/recipes-phosphor/skeleton/obmc-libobmc-intf_git.bb b/meta-phosphor/recipes-phosphor/skeleton/obmc-libobmc-intf_git.bb index 59692ecb8..85191c636 100644 --- a/meta-phosphor/recipes-phosphor/skeleton/obmc-libobmc-intf_git.bb +++ b/meta-phosphor/recipes-phosphor/skeleton/obmc-libobmc-intf_git.bb @@ -14,6 +14,20 @@ SKELETON_DIR = "libopenbmc_intf" SRC_URI += "file://gpio_defs.json" +# Users of libopenbmc_intf use custom makefiles that do not +# support the proper library version detection and linking. +# Because of that, a link must be created within the +# rootfs for applicaitons to use this library. +# This next line tells bitbake to skip the check which +# ensures no links are put in the rootfs +INSANE_SKIP_${PN} += "dev-so" + +# Ensure the library is not in the dev package +FILES_SOLIBSDEV = "" + +# Now add the link to the production package +FILES_${PN} += "${libdir}/libopenbmc_intf.so" + do_install() { oe_runmake install DESTDIR=${D} diff --git a/meta-phosphor/recipes-phosphor/srvcfg-manager/srvcfg-manager_git.bb b/meta-phosphor/recipes-phosphor/srvcfg-manager/srvcfg-manager_git.bb new file mode 100644 index 000000000..c7483ca81 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/srvcfg-manager/srvcfg-manager_git.bb @@ -0,0 +1,25 @@ +SUMMARY = "Service configuration manager daemon to control the service" +DESCRIPTION = "Applications must use service manager daemon to configure \ + phosphor-ipmi-net, bmcweb, obmc-console etc in the system, \ + instead of directly controlling the same using 'systemd' or \ + 'iptables'." +HOMEPAGE = "https://github.com/openbmc/service-config-manager" +PR = "r1" +PV = "1.0+git${SRCPV}" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7becf906c8f8d03c237bad13bc3dac53" + +SRC_URI = "git://github.com/openbmc/service-config-manager" +SRCREV = "1f3813f819f11b27f515891c239113f0b4e60936" + +inherit meson pkgconfig systemd + +S = "${WORKDIR}/git" +SYSTEMD_SERVICE_${PN} = "srvcfg-manager.service" + +DEPENDS = " \ + boost \ + phosphor-logging \ + sdbusplus \ + systemd \ + "
\ No newline at end of file diff --git a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager-systemd-links.inc b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager-systemd-links.inc new file mode 100644 index 000000000..6c12da8c4 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager-systemd-links.inc @@ -0,0 +1,142 @@ +pkg_postinst_${PN}-obmc-targets_append() { + + mkdir -p $D$systemd_system_unitdir/multi-user.target.requires + LINK="$D$systemd_system_unitdir/multi-user.target.requires/obmc-host-reset@0.target" + TARGET="../obmc-host-reset@.target" + ln -s $TARGET $LINK + + LINK="$D$systemd_system_unitdir/multi-user.target.requires/phosphor-discover-system-state@0.service" + TARGET="../phosphor-discover-system-state@.service" + ln -s $TARGET $LINK + + mkdir -p $D$systemd_system_unitdir/obmc-host-start@0.target.requires + LINK="$D$systemd_system_unitdir/obmc-host-start@0.target.requires/obmc-host-startmin@0.target" + TARGET="../obmc-host-startmin@.target" + ln -s $TARGET $LINK + + LINK="$D$systemd_system_unitdir/obmc-host-start@0.target.requires/phosphor-reset-host-reboot-attempts@0.service" + TARGET="../phosphor-reset-host-reboot-attempts@.service" + ln -s $TARGET $LINK + + mkdir -p $D$systemd_system_unitdir/obmc-host-reset@0.target.requires + LINK="$D$systemd_system_unitdir/obmc-host-reset@0.target.requires/phosphor-reset-host-check@0.service" + TARGET="../phosphor-reset-host-check@.service" + ln -s $TARGET $LINK + + LINK="$D$systemd_system_unitdir/obmc-host-reset@0.target.requires/phosphor-reset-sensor-states@0.service" + TARGET="../phosphor-reset-sensor-states@.service" + ln -s $TARGET $LINK + + LINK="$D$systemd_system_unitdir/obmc-host-reset@0.target.requires/phosphor-reset-host-running@0.service" + TARGET="../phosphor-reset-host-running@.service" + ln -s $TARGET $LINK + + mkdir -p $D$systemd_system_unitdir/obmc-host-stop@0.target.wants + LINK="$D$systemd_system_unitdir/obmc-host-stop@0.target.wants/phosphor-reset-sensor-states@0.service" + TARGET="../phosphor-reset-sensor-states@.service" + ln -s $TARGET $LINK + + mkdir -p $D$systemd_system_unitdir/obmc-host-quiesce@0.target.wants + LINK="$D$systemd_system_unitdir/obmc-host-quiesce@0.target.wants/phosphor-reset-sensor-states@0.service" + TARGET="../phosphor-reset-sensor-states@.service" + ln -s $TARGET $LINK + + mkdir -p $D$systemd_system_unitdir/obmc-host-shutdown@0.target.requires + LINK="$D$systemd_system_unitdir/obmc-host-shutdown@0.target.requires/obmc-chassis-poweroff@0.target" + TARGET="../obmc-chassis-poweroff@.target" + ln -s $TARGET $LINK + + mkdir -p $D$systemd_system_unitdir/obmc-host-reboot@0.target.requires + LINK="$D$systemd_system_unitdir/obmc-host-reboot@0.target.requires/obmc-host-shutdown@0.target" + TARGET="../obmc-host-shutdown@.target" + ln -s $TARGET $LINK + + LINK="$D$systemd_system_unitdir/obmc-host-reboot@0.target.requires/phosphor-reboot-host@0.service" + TARGET="../phosphor-reboot-host@.service" + ln -s $TARGET $LINK + + mkdir -p $D$systemd_system_unitdir/obmc-host-warm-reboot@0.target.requires + LINK="$D$systemd_system_unitdir/obmc-host-warm-reboot@0.target.requires/xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service" + TARGET="../xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service" + ln -s $TARGET $LINK + + mkdir -p $D$systemd_system_unitdir/obmc-host-force-warm-reboot@0.target.requires + LINK="$D$systemd_system_unitdir/obmc-host-force-warm-reboot@0.target.requires/obmc-host-stop@0.target" + TARGET="../obmc-host-stop@.target" + ln -s $TARGET $LINK + + LINK="$D$systemd_system_unitdir/obmc-host-force-warm-reboot@0.target.requires/phosphor-reboot-host@0.service" + TARGET="../phosphor-reboot-host@.service" + ln -s $TARGET $LINK + + LINK="$D$systemd_system_unitdir/obmc-host-warm-reboot@0.target.requires/obmc-host-force-warm-reboot@0.target" + TARGET="../obmc-host-force-warm-reboot@.target" + ln -s $TARGET $LINK + + mkdir -p $D$systemd_system_unitdir/obmc-host-diagnostic-mode@0.target.requires + LINK="$D$systemd_system_unitdir/obmc-host-diagnostic-mode@0.target.requires/obmc-host-force-warm-reboot@0.target" + TARGET="../obmc-host-force-warm-reboot@.target" + ln -s $TARGET $LINK + + mkdir -p $D$systemd_system_unitdir/obmc-chassis-poweroff@0.target.wants + LINK="$D$systemd_system_unitdir/obmc-chassis-poweroff@0.target.wants/phosphor-clear-one-time@0.service" + TARGET="../phosphor-clear-one-time@.service" + ln -s $TARGET $LINK +} + +pkg_prerm_${PN}-obmc-targets_append() { + + LINK="$D$systemd_system_unitdir/multi-user.target.requires/obmc-host-reset@0.target" + rm $LINK + + LINK="$D$systemd_system_unitdir/multi-user.target.requires/phosphor-discover-system-state@0.service" + rm $LINK + + LINK="$D$systemd_system_unitdir/obmc-host-start@0.target.requires/obmc-host-startmin@0.target" + rm $LINK + + LINK="$D$systemd_system_unitdir/obmc-host-start@0.target.requires/phosphor-reset-host-reboot-attempts@0.service" + rm $LINK + + LINK="$D$systemd_system_unitdir/obmc-host-reset@0.target.requires/phosphor-reset-host-check@0.service" + rm $LINK + + LINK="$D$systemd_system_unitdir/obmc-host-reset@0.target.requires/phosphor-reset-sensor-states@0.service" + rm $LINK + + LINK="$D$systemd_system_unitdir/obmc-host-stop@0.target.wants/phosphor-reset-sensor-states@0.service" + rm $LINK + + LINK="$D$systemd_system_unitdir/obmc-host-quiesce@0.target.wants/phosphor-reset-sensor-states@0.service" + rm $LINK + + LINK="$D$systemd_system_unitdir/obmc-host-reset@0.target.requires/phosphor-reset-host-running@0.service" + rm $LINK + + LINK="$D$systemd_system_unitdir/obmc-host-shutdown@0.target.requires/obmc-chassis-poweroff@0.target" + rm $LINK + + LINK="$D$systemd_system_unitdir/obmc-host-reboot@0.target.requires/obmc-host-shutdown@0.target" + rm $LINK + + LINK="$D$systemd_system_unitdir/obmc-host-reboot@0.target.requires/phosphor-reboot-host@0.service" + rm $LINK + + LINK="$D$systemd_system_unitdir/obmc-host-warm-reboot@0.target.requires/xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service" + rm $LINK + + LINK="$D$systemd_system_unitdir/obmc-host-force-warm-reboot@0.target.requires/obmc-host-stop@0.target" + rm $LINK + + LINK="$D$systemd_system_unitdir/obmc-host-force-warm-reboot@0.target.requires/phosphor-reboot-host@0.service" + rm $LINK + + LINK="$D$systemd_system_unitdir/obmc-host-warm-reboot@0.target.requires/obmc-host-force-warm-reboot@0.target" + rm $LINK + + LINK="$D$systemd_system_unitdir/obmc-host-diagnostic-mode@0.target.requires/obmc-host-force-warm-reboot@0.target" + rm $LINK + + LINK="$D$systemd_system_unitdir/obmc-chassis-poweroff@0.target.wants/phosphor-clear-one-time@0.service" + rm $LINK +} 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 5501986bd..8e74e69a0 100644 --- a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb @@ -8,6 +8,8 @@ PV = "1.0+git${SRCPV}" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" +include phosphor-state-manager-systemd-links.inc + STATE_MGR_PACKAGES = " \ ${PN}-host \ ${PN}-chassis \ @@ -42,6 +44,7 @@ RRECOMMENDS_${PN}-host += "${PN}-obmc-targets" inherit meson pkgconfig inherit obmc-phosphor-dbus-service +inherit obmc-phosphor-systemd DEPENDS += "sdbusplus" DEPENDS += "sdeventplus" @@ -55,6 +58,7 @@ FILES_${PN}-host = "${bindir}/phosphor-host-state-manager" DBUS_SERVICE_${PN}-host += "xyz.openbmc_project.State.Host.service" DBUS_SERVICE_${PN}-host += "phosphor-reboot-host@.service" SYSTEMD_SERVICE_${PN}-host += "phosphor-reset-host-reboot-attempts@.service" +SYSTEMD_SERVICE_${PN}-host += "phosphor-clear-one-time@.service" FILES_${PN}-chassis = "${bindir}/phosphor-chassis-state-manager" DBUS_SERVICE_${PN}-chassis += "xyz.openbmc_project.State.Chassis.service" @@ -82,102 +86,6 @@ SYSTEMD_SERVICE_${PN}-systemd-target-monitor += "phosphor-systemd-target-monitor FILES_${PN}-scheduled-host-transition = "${bindir}/phosphor-scheduled-host-transition" DBUS_SERVICE_${PN}-scheduled-host-transition += "xyz.openbmc_project.State.ScheduledHostTransition.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" -RESET_CHECK_FMT = "../${RESET_CHECK_TMPL}:${RESET_CHECK_TGTFMT}.requires/${RESET_CHECK_INSTFMT}" - -SENSOR_RESET_TMPL = "phosphor-reset-sensor-states@.service" -SENSOR_RESET_TGTFMT = "obmc-host-reset@{1}.target" -SENSOR_RESET_INSTFMT = "phosphor-reset-sensor-states@{0}.service" -SENSOR_RESET_FMT = "../${SENSOR_RESET_TMPL}:${SENSOR_RESET_TGTFMT}.requires/${SENSOR_RESET_INSTFMT}" - -RESET_RUNNING_TMPL = "phosphor-reset-host-running@.service" -RESET_RUNNING_TGTFMT = "obmc-host-reset@{1}.target" -RESET_RUNNING_INSTFMT = "phosphor-reset-host-running@{0}.service" -RESET_RUNNING_FMT = "../${RESET_RUNNING_TMPL}:${RESET_RUNNING_TGTFMT}.requires/${RESET_RUNNING_INSTFMT}" - -SYSTEMD_LINK_${PN}-host-check += "${@compose_list_zip(d, 'RESET_CHECK_FMT', 'OBMC_HOST_INSTANCES', 'OBMC_HOST_INSTANCES')}" -SYSTEMD_LINK_${PN}-host-check += "${@compose_list_zip(d, 'RESET_RUNNING_FMT', 'OBMC_HOST_INSTANCES', 'OBMC_HOST_INSTANCES')}" - -SYSTEMD_LINK_${PN}-reset-sensor-states += "${@compose_list_zip(d, 'SENSOR_RESET_FMT', 'OBMC_HOST_INSTANCES', 'OBMC_HOST_INSTANCES')}" - -# Force the standby target to run the host reset check target -RESET_TMPL_CTRL = "obmc-host-reset@.target" -SYSD_TGT = "multi-user.target" -RESET_INSTFMT_CTRL = "obmc-host-reset@{0}.target" -RESET_FMT_CTRL = "../${RESET_TMPL_CTRL}:${SYSD_TGT}.wants/${RESET_INSTFMT_CTRL}" -SYSTEMD_LINK_${PN}-host-check += "${@compose_list_zip(d, 'RESET_FMT_CTRL', 'OBMC_HOST_INSTANCES')}" - -TMPL = "phosphor-discover-system-state@.service" -INSTFMT = "phosphor-discover-system-state@{0}.service" -FMT = "../${TMPL}:multi-user.target.wants/${INSTFMT}" -SYSTEMD_LINK_${PN}-discover += "${@compose_list(d, 'FMT', 'OBMC_HOST_INSTANCES')}" - -# Force the shutdown target to run the chassis-poweroff target -CHASSIS_STOP_TMPL = "obmc-chassis-poweroff@.target" -HOST_STOP_TGTFMT = "obmc-host-shutdown@{1}.target" -CHASSIS_STOP_INSTFMT = "obmc-chassis-poweroff@{0}.target" -HOST_STOP_FMT = "../${CHASSIS_STOP_TMPL}:${HOST_STOP_TGTFMT}.requires/${CHASSIS_STOP_INSTFMT}" -SYSTEMD_LINK_${PN}-host += "${@compose_list_zip(d, 'HOST_STOP_FMT', 'OBMC_CHASSIS_INSTANCES', 'OBMC_HOST_INSTANCES')}" - -# Force the host reboot target to run the shutdown target -HOST_SHUTDOWN_TMPL = "obmc-host-shutdown@.target" -HOST_REBOOT_TGTFMT = "obmc-host-reboot@{0}.target" -HOST_SHUTDOWN_INSTFMT = "obmc-host-shutdown@{0}.target" -HOST_REBOOT_FMT = "../${HOST_SHUTDOWN_TMPL}:${HOST_REBOOT_TGTFMT}.requires/${HOST_SHUTDOWN_INSTFMT}" -SYSTEMD_LINK_${PN}-host += "${@compose_list_zip(d, 'HOST_REBOOT_FMT', 'OBMC_HOST_INSTANCES')}" - -# And also force the reboot target to call the host startmin service -HOST_REBOOT_SVC = "phosphor-reboot-host@.service" -HOST_REBOOT_SVC_INST = "phosphor-reboot-host@{0}.service" -HOST_REBOOT_SVC_FMT = "../${HOST_REBOOT_SVC}:${HOST_REBOOT_TGTFMT}.requires/${HOST_REBOOT_SVC_INST}" -SYSTEMD_LINK_${PN}-host += "${@compose_list_zip(d, 'HOST_REBOOT_SVC_FMT', 'OBMC_HOST_INSTANCES', 'OBMC_HOST_INSTANCES')}" - -# Force the host-start target to call the host-startmin target -HOST_STARTMIN_TMPL = "obmc-host-startmin@.target" -HOST_START_TGTFMT = "obmc-host-start@{0}.target" -HOST_STARTMIN_INSTFMT = "obmc-host-startmin@{0}.target" -HOST_START_FMT = "../${HOST_STARTMIN_TMPL}:${HOST_START_TGTFMT}.requires/${HOST_STARTMIN_INSTFMT}" -SYSTEMD_LINK_${PN}-host += "${@compose_list_zip(d, 'HOST_START_FMT', 'OBMC_HOST_INSTANCES')}" - -# Force the host-start target to call the reboot count reset service -HOST_RST_RBT_ATTEMPTS_SVC = "phosphor-reset-host-reboot-attempts@.service" -HOST_RST_RBT_ATTEMPTS_SVC_INST = "phosphor-reset-host-reboot-attempts@{0}.service" -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')}" - -# Force warm reboot target to call soft power off -HOST_WARM_REBOOT_TGTFMT = "obmc-host-warm-reboot@{0}.target" -HOST_WARM_REBOOT_SOFT_SVC = "xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service" -HOST_WARM_REBOOT_SOFT_SVC_FMT = "../${HOST_WARM_REBOOT_SOFT_SVC}:${HOST_WARM_REBOOT_TGTFMT}.requires/${HOST_WARM_REBOOT_SOFT_SVC}" -SYSTEMD_LINK_${PN}-host += "${@compose_list_zip(d, 'HOST_WARM_REBOOT_SOFT_SVC_FMT', 'OBMC_HOST_INSTANCES')}" - -# Force warm reboot target to call host stop -HOST_WARM_REBOOT_STOP_TMPL="obmc-host-stop@.target" -HOST_WARM_REBOOT_STOP_REQUIRES="obmc-host-force-warm-reboot@{0}.target" -HOST_WARM_REBOOT_STOP_TMPL_INST="obmc-host-stop@{0}.target" -HOST_WARM_REBOOT_STOP_TARGET_FMT = "../${HOST_WARM_REBOOT_STOP_TMPL}:${HOST_WARM_REBOOT_STOP_REQUIRES}.requires/${HOST_WARM_REBOOT_STOP_TMPL_INST}" -SYSTEMD_LINK_${PN}-host += "${@compose_list_zip(d, 'HOST_WARM_REBOOT_STOP_TARGET_FMT', 'OBMC_HOST_INSTANCES')}" - -# Force warm reboot target to call reboot host -HOST_WARM_REBOOT_FORCE_TGTFMT = "obmc-host-force-warm-reboot@{0}.target" -HOST_WARM_REBOOT_SVC = "phosphor-reboot-host@.service" -HOST_WARM_REBOOT_SVC_INST = "phosphor-reboot-host@{0}.service" -HOST_WARM_REBOOT_SVC_FMT = "../${HOST_WARM_REBOOT_SVC}:${HOST_WARM_REBOOT_FORCE_TGTFMT}.requires/${HOST_WARM_REBOOT_SVC_INST}" -SYSTEMD_LINK_${PN}-host += "${@compose_list_zip(d, 'HOST_WARM_REBOOT_SVC_FMT', 'OBMC_HOST_INSTANCES')}" - -# Warm reboot to call force warm reboot -# Warm reboot will be graceful due to to it also containing soft power off -HOST_WARM_REBOOT_FORCE_TGT = "obmc-host-force-warm-reboot@.target" -HOST_WARM_REBOOT_FORCE_TARGET_FMT = "../${HOST_WARM_REBOOT_FORCE_TGT}:${HOST_WARM_REBOOT_TGTFMT}.requires/${HOST_WARM_REBOOT_FORCE_TGTFMT}" -SYSTEMD_LINK_${PN}-host += "${@compose_list_zip(d, 'HOST_WARM_REBOOT_FORCE_TARGET_FMT', 'OBMC_HOST_INSTANCES')}" - -# Diagnostic target to call force warm reboot target -HOST_DIAG_TGTFMT = "obmc-host-diagnostic-mode@0.target" -HOST_DIAG_TARGET_FMT = "../${HOST_WARM_REBOOT_FORCE_TGT}:${HOST_DIAG_TGTFMT}.requires/${HOST_WARM_REBOOT_FORCE_TGTFMT}" -SYSTEMD_LINK_${PN}-host += "${@compose_list_zip(d, 'HOST_DIAG_TARGET_FMT', 'OBMC_HOST_INSTANCES')}" - # Chassis power synchronization targets # - start-pre: Services to run before we start power on process # - start: Services to run to do the chassis power on @@ -266,6 +174,6 @@ SYSTEMD_LINK_${PN}-obmc-targets += "${@compose_list(d, 'FAN_LINK_FMT', 'OBMC_CHA SYSTEMD_LINK_${PN}-obmc-targets += "${@compose_list(d, 'QUIESCE_FMT', 'HOST_ERROR_TARGETS', 'OBMC_HOST_INSTANCES')}" SRC_URI += "git://github.com/openbmc/phosphor-state-manager" -SRCREV = "42f2898d182b66ff0523482120013de62d573645" +SRCREV = "bbbc01655243fecc83f8734f12a57e665b90ff9a" S = "${WORKDIR}/git" diff --git a/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb b/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb new file mode 100644 index 000000000..feff0045e --- /dev/null +++ b/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb @@ -0,0 +1,27 @@ +SUMMARY = "Telemetry service" +DESCRIPTION = "Middleware between Redfish Telemetry Service and dbus-sensors" +HOMEPAGE = "https://github.com/openbmc/telemetry" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" + +SRC_URI = "git://github.com/openbmc/telemetry" + +PV = "1.0+git${SRCPV}" +SRCREV = "0e29f4392264a9646834583ddd5eaadc25fab20b" + +S = "${WORKDIR}/git" + +inherit meson +inherit systemd + +DEPENDS = "boost \ + gtest \ + nlohmann-json \ + phosphor-logging \ + sdbusplus \ + systemd" + +SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.Telemetry.service" +EXTRA_OEMESON = "-Dbuildtest=false" + 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 b687e9e5c..da4fb128c 100644 --- a/meta-phosphor/recipes-phosphor/users/phosphor-user-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/users/phosphor-user-manager_git.bb @@ -36,5 +36,5 @@ DBUS_SERVICE_phosphor-ldap = " \ xyz.openbmc_project.LDAP.PrivilegeMapper.service \ " SRC_URI += "git://github.com/openbmc/phosphor-user-manager" -SRCREV = "73ce773e2f94fcfdeeeb9db83a3e92429ab4a663" +SRCREV = "75be4e68c7a599650a1800d7846182b06534bdca" S = "${WORKDIR}/git" diff --git a/meta-phosphor/recipes-phosphor/video/uart-render-controller/uart-render-controller.service b/meta-phosphor/recipes-phosphor/video/uart-render-controller/uart-render-controller.service index bc1e99e0a..9fcca01ed 100644 --- a/meta-phosphor/recipes-phosphor/video/uart-render-controller/uart-render-controller.service +++ b/meta-phosphor/recipes-phosphor/video/uart-render-controller/uart-render-controller.service @@ -6,8 +6,8 @@ After=xyz.openbmc_project.State.Host.service [Service] ExecStart=/usr/sbin/obmc-uart-render-controller \ - /sys/devices/platform/ahb/ahb:apb/1e6e2000.syscon/1e6e2000.syscon:scratch/vga0 \ - /sys/devices/platform/ahb/ahb:apb/1e6e2000.syscon/1e6e2000.syscon:scratch/dac_mux \ + /sys/devices/platform/ahb/ahb:apb/1e6e6000.display/vga_pw \ + /sys/devices/platform/ahb/ahb:apb/1e6e6000.display/dac_mux \ fbterm.service [Install] diff --git a/meta-phosphor/recipes-phosphor/webui/phosphor-webui_git.bb b/meta-phosphor/recipes-phosphor/webui/phosphor-webui_git.bb index 0758cecf2..46aacc135 100644 --- a/meta-phosphor/recipes-phosphor/webui/phosphor-webui_git.bb +++ b/meta-phosphor/recipes-phosphor/webui/phosphor-webui_git.bb @@ -6,28 +6,13 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI = "git://github.com/openbmc/phosphor-webui.git" -SRCREV = "4a16a026b60a3bf54161ed4e4bc34885b4e3e6c3" +SRCREV = "d10511f2a7fc07910d7ca517bd73331763322fa0" S = "${WORKDIR}/git" DEPENDS_prepend = "nodejs-native " -# allarch is required because the files this recipe produces (html and -# javascript) are valid for any target, regardless of architecture. The allarch -# class removes your compiler definitions, as it assumes that anything that -# requires a compiler is platform specific. Unfortunately, one of the build -# tools uses libsass for compiling the css templates, and it needs a compiler to -# build the library that it then uses to compress the scss into normal css. -# Enabling allarch, then re-adding the compiler flags was the best of the bad -# options - inherit allarch -export CXX = "${BUILD_CXX}" -export CC = "${BUILD_CC}" -export CFLAGS = "${BUILD_CFLAGS}" -export CPPFLAGS = "${BUILD_CPPFLAGS}" -export CXXFLAGS = "${BUILD_CXXFLAGS}" - FILES_${PN} += "${datadir}/www/*" do_compile () { diff --git a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb index b3ecb84f2..5012ba97c 100644 --- a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb +++ b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb @@ -6,7 +6,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI = "git://github.com/openbmc/webui-vue.git" -SRCREV = "396aaab761da86698dcb5890b0a6960a90d3459b" +SRCREV = "e6e924527fb58de46ef70fb016d120f2eefbb01b" S = "${WORKDIR}/git" DEPENDS_prepend = "nodejs-native " diff --git a/meta-phosphor/recipes-support/boost-url/boost-url_%.bbappend b/meta-phosphor/recipes-support/boost-url/boost-url_%.bbappend new file mode 100644 index 000000000..5ef4f9fe9 --- /dev/null +++ b/meta-phosphor/recipes-support/boost-url/boost-url_%.bbappend @@ -0,0 +1 @@ +EXTRA_OECMAKE_append_openbmc-phosphor = "-DBOOST_URL_STANDALONE=ON" diff --git a/meta-phosphor/recipes-support/boost-url/boost-url_git.bb b/meta-phosphor/recipes-support/boost-url/boost-url_git.bb new file mode 100644 index 000000000..6d4635b66 --- /dev/null +++ b/meta-phosphor/recipes-support/boost-url/boost-url_git.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "Boost.URL is a library for manipulating Uniform Resource Identifiers (URI) and Locators (URL)" +HOMEPAGE = "https://github.com/CPPAlliance/url" +SECTION = "libs" +LICENSE = "BSL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c" + +SRC_URI = "git://github.com/CPPAlliance/url.git" + +SRCREV = "a56ae0df6d3078319755fbaa67822b4fa7fd352b" + +S = "${WORKDIR}/git" + +inherit cmake + +DEPENDS = "boost" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-phosphor/recipes-support/boost/boost_%.bbappend b/meta-phosphor/recipes-support/boost/boost_%.bbappend new file mode 100644 index 000000000..b614346af --- /dev/null +++ b/meta-phosphor/recipes-support/boost/boost_%.bbappend @@ -0,0 +1,12 @@ +#This is largely to improve our build times by not building or installing +#modules that OpenBMC does not use by our coding standard. Another thing to +#note is that for most targets, coroutine and context libraries are also added +#with a BOOST_LIBS_append_<platform> for most targets. Chrono/Thread should not +#be relied directly, but are required dependencies of context and coroutine. +#See the relevant portion of the openbmc coding standard with regards to boost +#libraries +# +#https://github.com/openbmc/docs/blob/master/cpp-style-and-conventions.md#boost +# +#BOOST_LIBS_openbmc-phosphor = "chrono thread" + diff --git a/meta-phosphor/recipes-support/nss-pam-ldapd_fix/nss-pam-ldapd_%.bbappend b/meta-phosphor/recipes-support/nss-pam-ldapd_fix/nss-pam-ldapd_%.bbappend index d1b092d29..11e8c4a75 100644 --- a/meta-phosphor/recipes-support/nss-pam-ldapd_fix/nss-pam-ldapd_%.bbappend +++ b/meta-phosphor/recipes-support/nss-pam-ldapd_fix/nss-pam-ldapd_%.bbappend @@ -1,3 +1,5 @@ do_install_append() { + sed -i -e '$anss_initgroups_ignoreusers ALLLOCAL' ${D}${sysconfdir}/nslcd.conf + install -m 0644 ${D}${sysconfdir}/nslcd.conf ${D}${sysconfdir}/nslcd.conf.default } diff --git a/meta-phosphor/recipes-support/rng-tools/rng-tools_%.bbappend b/meta-phosphor/recipes-support/rng-tools/rng-tools_%.bbappend index 16add36d8..ce5d7994b 100644 --- a/meta-phosphor/recipes-support/rng-tools/rng-tools_%.bbappend +++ b/meta-phosphor/recipes-support/rng-tools/rng-tools_%.bbappend @@ -1,13 +1,26 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" SRC_URI += "file://10-nice.conf" +PACKAGECONFIG_remove = "\ + ${@bb.utils.contains('MACHINE_FEATURES', 'hw-rng', \ + 'libjitterentropy', '', d)}\ + " + inherit systemd FILES_${PN} += "${systemd_unitdir}/system/rngd.service.d" do_install_append() { + + # When using systemd and using libjitterentropy, install a config + # which runs rngd at a 'nice' priority. libjitterentropy uses a + # lot of CPU early on in the boot process and makes the whole boot + # go slower. if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_unitdir}/system/rngd.service.d - install -m 644 ${WORKDIR}/10-nice.conf ${D}${systemd_unitdir}/system/rngd.service.d + if ${@bb.utils.contains('PACKAGECONFIG', 'libjitterentropy', 'true', 'false', d)}; then + install -d ${D}${systemd_unitdir}/system/rngd.service.d + install -m 644 ${WORKDIR}/10-nice.conf \ + ${D}${systemd_unitdir}/system/rngd.service.d + fi fi } diff --git a/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb b/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb index cb1daba0b..88c01f4e7 100755 --- a/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb +++ b/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb @@ -2,7 +2,7 @@ SUMMARY = "Chassis Power Control service for Intel based platforms" DESCRIPTION = "Chassis Power Control service for Intel based platforms" SRC_URI = "git://github.com/openbmc/x86-power-control.git;protocol=ssh" -SRCREV = "b0c613aa889136610811d5f44a172081731db216" +SRCREV = "01a77864f49088bac80474587a123d1f152f2b26" PV = "1.0+git${SRCPV}" @@ -12,6 +12,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" inherit cmake systemd +inherit obmc-phosphor-dbus-service SYSTEMD_SERVICE_${PN} += "xyz.openbmc_project.Chassis.Control.Power.service \ chassis-system-reset.service \ @@ -21,6 +22,7 @@ DEPENDS += " \ boost \ i2c-tools \ libgpiod \ + nlohmann-json \ sdbusplus \ phosphor-logging \ " diff --git a/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb b/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb new file mode 100644 index 000000000..f6ef79d46 --- /dev/null +++ b/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb @@ -0,0 +1,20 @@ +SUMMARY = "PECI PCIe" +DESCRIPTION = "Gathers PCIe information using PECI \ +and provides it on D-Bus" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7becf906c8f8d03c237bad13bc3dac53" +inherit cmake systemd + +SRC_URI = "git://github.com/openbmc/peci-pcie" + +DEPENDS = "boost sdbusplus libpeci" + +PV = "0.1+git${SRCPV}" +SRCREV = "bce86a63643e1d7cdf6d42e143738013ee47a8da" + +S = "${WORKDIR}/git" + +SYSTEMD_SERVICE_${PN} += "xyz.openbmc_project.PCIe.service" + +EXTRA_OECMAKE = "-DYOCTO=1" |