mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-10-21 23:28:19 +00:00
6edeafa438
GO_XCAT_UNINSTALL_LIST names every package go-xcat installs plus the ones xCAT has stopped producing, so a node installed before they went away is still cleaned up. uninstall_xcat handed that whole list to the package manager, and most of it is not installed on any one node: apt answers "Unable to locate package" for a name it does not know and go-xcat warns once per package, while dnf answers "No match for argument" and fails the call when nothing matches. installed_packages() asks the local package database which of them this system has, and uninstall_xcat and uninstall_xcat_completely pass only those on. A node with none of them installed calls the package manager not at all. This is also what makes a retired name in the list free to keep. go_xcat_uninstall_installed_only.t runs uninstall_xcat with rpm and dpkg-query answering from a fake package database and remove_package shadowed, and reads the argument list the package manager would have been given. A filter that kept everything and a filter that kept nothing each fail three of its four assertions. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>