BMC Updater: Remove the Object.Delete interface from functional version

This commit enhances the functionality of the BMC software updater.
Previously, each BMC version uploaded to the system would implement the
Object.Delete D-Bus interface, including the version currently running
on the BMC. In principle, this is a pretty major issue - at best, the
Delete would do nothing to the current version but throw an error, and
at worst, it could partially remove it and cause problems.

This commit fixes that problem by moving the Delete implementation into
a separate object for each activation and removing that interface for
the current version.

Resolves openbmc/openbmc#2335

Change-Id: I721b7455c9fb309ecbb50f807aaa44a16d51ba5a
Signed-off-by: Michael Tritz <mtritz@us.ibm.com>
3 files changed
tree: 090d01f28d0f52fa948c62379483901f4104ca07
  1. org/
  2. test/
  3. xyz/
  4. .gitignore
  5. activation.cpp
  6. activation.hpp
  7. bootstrap.sh
  8. configure.ac
  9. download_manager.cpp
  10. download_manager.hpp
  11. download_manager_main.cpp
  12. elog-errors.hpp
  13. image_manager.cpp
  14. image_manager.hpp
  15. image_manager_main.cpp
  16. item_updater.cpp
  17. item_updater.hpp
  18. item_updater_main.cpp
  19. LICENSE
  20. Makefile.am
  21. README.md
  22. serialize.cpp
  23. serialize.hpp
  24. version.cpp
  25. version.hpp
  26. watch.cpp
  27. watch.hpp
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. ./bootstrap.sh
    2. ./configure ${CONFIGURE_FLAGS}
    3. make

To full clean the repository again run `./bootstrap.sh clean`.