obmc-flash-bmc: Add new Manager service as default

For D-Bus calls that require the service name, use the new
Software.Manager service first since that'll be the default, and if the
call fails, try with the old code update service name:
busctl new || old

We could use the mapper API GetObject to figure out the service name,
but this would add a 2nd D-Bus call, and the new code update service
would be the default so there's no need to make additional calls. In
addition the output of GetObject would need to be parsed. And in some
instances like the call to busctl tree service, there's not a unique
interface under the software/ path to differentiate the service name
from other updaters such as the PSU update manager.

Tested: Code update with new and old service on a p10bmc system.

Change-Id: Ib5c8115006028d7d9341895afab46eb771f8cf33
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
1 file changed
tree: d979cf4b4f1ecaf9b5f5b8cbf16c151e0d381864
  1. mmc/
  2. side-switch/
  3. static/
  4. subprojects/
  5. test/
  6. ubi/
  7. usb/
  8. .clang-format
  9. .clang-tidy
  10. .gitignore
  11. .shellcheck
  12. activation.cpp
  13. activation.hpp
  14. detect-slot-aspeed
  15. download_manager.cpp
  16. download_manager.hpp
  17. download_manager_main.cpp
  18. flash.hpp
  19. force-reboot.service.in
  20. gen-bios-tar
  21. image_manager.cpp
  22. image_manager.hpp
  23. image_manager_main.cpp
  24. image_verify.cpp
  25. image_verify.hpp
  26. images.cpp
  27. images.hpp
  28. item_updater.cpp
  29. item_updater.hpp
  30. item_updater_helper.hpp
  31. item_updater_main.cpp
  32. LICENSE
  33. meson.build
  34. meson.options
  35. msl_verify.cpp
  36. msl_verify.hpp
  37. obmc-flash-bmc
  38. obmc-flash-bmc-setenv@.service.in
  39. obmc-flash-host-bios@.service.in
  40. openssl_alloc.cpp
  41. openssl_alloc.hpp
  42. OWNERS
  43. README.md
  44. reboot-guard-disable.service.in
  45. reboot-guard-enable.service.in
  46. reset-cs0-aspeed
  47. serialize.cpp
  48. serialize.hpp
  49. software.conf
  50. software_manager.cpp
  51. software_utils.cpp
  52. software_utils.hpp
  53. sync-once.sh
  54. sync_manager.cpp
  55. sync_manager.hpp
  56. sync_manager_main.cpp
  57. sync_watch.cpp
  58. sync_watch.hpp
  59. synclist
  60. update_manager.cpp
  61. update_manager.hpp
  62. usr-local.mount.in
  63. utils.cpp
  64. utils.hpp
  65. version.cpp
  66. version.hpp
  67. watch.cpp
  68. watch.hpp
  69. xyz.openbmc_project.Software.BMC.Updater.service.in
  70. xyz.openbmc_project.Software.Download.service.in
  71. xyz.openbmc_project.Software.Manager.service.in
  72. xyz.openbmc_project.Software.Sync.service.in
  73. xyz.openbmc_project.Software.Version.service.in
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.