start-update-interface: add software_utils

Refactor and move the common code into software_utils namespace. Add new
untar API which untars from a unix_fd. This change is based on -
https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/65738
https://gerrit.openbmc.org/c/openbmc/docs/+/65739

Change-Id: Ifcbf78a06ef482ca7c7765efd5c24a533399b979
Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
4 files changed
tree: bc9910c2b6a1a71dc55d56f16c1a380cc0cc51f3
  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. usr-local.mount.in
  61. utils.cpp
  62. utils.hpp
  63. version.cpp
  64. version.hpp
  65. watch.cpp
  66. watch.hpp
  67. xyz.openbmc_project.Software.BMC.Updater.service.in
  68. xyz.openbmc_project.Software.Download.service.in
  69. xyz.openbmc_project.Software.Manager.service.in
  70. xyz.openbmc_project.Software.Sync.service.in
  71. 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.