common: Add emit_added for Software Update intf

The 'InterfacesAdded' signal is needed for the object mapper to know of
the dbus interface.

```
root@s8030-bmc-30303035c0c1:~# busctl tree xyz.openbmc_project.Software.BIOS
`- /xyz
  `- /xyz/openbmc_project
    `- /xyz/openbmc_project/software
      `- /xyz/openbmc_project/software/HostSPIFlash_5592
```

But the object mapper does not find the object path

```
busctl call xyz.openbmc_project.ObjectMapper /xyz/openbmc_project/object_mapper xyz.openbmc_project.ObjectMapper GetSubTreePaths sias /xyz/openbmc_project 0 1 xyz.openbmc_project.Software.Update
as 2 "/xyz/openbmc_project/software/269f96b7" "/xyz/openbmc_project/software/bios_active"
```

meanwhile it finds the version interface, since there we already emit
the signal.

```
busctl call xyz.openbmc_project.ObjectMapper /xyz/openbmc_project/object_mapper xyz.openbmc_project.ObjectMapper GetSubTreePaths sias /xyz/openbmc_project 0 1 xyz.openbmc_project.Software.Version
as 7 "/xyz/openbmc_project/logging/entry/1" "/xyz/openbmc_project/logging/entry/2" "/xyz/openbmc_project/logging/entry/3" "/xyz/openbmc_project/logging/entry/4" "/xyz/openbmc_project/software/269f96b7" "/xyz/openbmc_project/software/HostSPIFlash_5592" "/xyz/openbmc_project/software/bios_active"
```

Tested: Since the interface is emitted, object mapper now knows of the
object path.

```
busctl call xyz.openbmc_project.ObjectMapper /xyz/openbmc_project/object_mapper xyz.openbmc_project.ObjectMapper GetSubTreePaths sias /xyz/openbmc_project 0 1 xyz.openbmc_project.Software.Update
as 3 "/xyz/openbmc_project/software/269f96b7" "/xyz/openbmc_project/software/HostSPIFlash_2523" "/xyz/openbmc_project/software/bios_active"
```

The software appears as updatable in the fw inventory.

```
curl --insecure --user root:root https://${bmc}/redfish/v1/UpdateService/FirmwareInventory/HostSPIFlash_2523
{
  "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/HostSPIFlash_2523",
  "@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory",
  "Description": "Unknown image",
  "Id": "HostSPIFlash_2523",
  "Name": "Software Inventory",
  "Status": {
    "Health": "Warning",
    "HealthRollup": "OK",
    "State": "Disabled"
  },
  "Updateable": true,
  "Version": "Unknown"
}
```

Change-Id: Ibb7f9a5d122e991048b3513c6b9448e105173ca5
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
2 files changed
tree: 225e29a010c8ea44ce7ae98872b6a735bf5e427f
  1. bios/
  2. bmc/
  3. common/
  4. cpld/
  5. eeprom-device/
  6. i2c-vr/
  7. subprojects/
  8. test/
  9. .clang-format
  10. .clang-tidy
  11. .gitignore
  12. .shellcheck
  13. LICENSE
  14. meson.build
  15. meson.options
  16. OWNERS
  17. README.md
README.md

phosphor-bmc-code-mgmt

Phosphor BMC Code Management provides a set of system software management applications. More information can be found at Software Architecture

To Build

To build this package, do the following steps:

  1. meson build
  2. ninja -C build

To clean the repository run rm -r build.