diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2023-02-01 13:47:47 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2023-02-08 15:44:57 +0300 |
commit | d6500b9d7ee5cf68a7507f9d4d726ffb767d827a (patch) | |
tree | 6d2af81b0424223b725e4a72973a1488caad7151 /bpkg/system-package-manager.cxx | |
parent | a05076ceb13341780ea1f446626658164f35c5f3 (diff) |
Implement system package manager query and install support for Fedora
Note that the main/devel name resolution based on the project name still needs
to be fixed.
Diffstat (limited to 'bpkg/system-package-manager.cxx')
-rw-r--r-- | bpkg/system-package-manager.cxx | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/bpkg/system-package-manager.cxx b/bpkg/system-package-manager.cxx index 5089db1..6a44b09 100644 --- a/bpkg/system-package-manager.cxx +++ b/bpkg/system-package-manager.cxx @@ -14,6 +14,7 @@ #include <bpkg/diagnostics.hxx> #include <bpkg/system-package-manager-debian.hxx> +#include <bpkg/system-package-manager-fedora.hxx> using namespace std; using namespace butl; @@ -71,6 +72,25 @@ namespace bpkg r.reset (new system_package_manager_debian ( move (*osr), host, install, fetch, progress, yes, sudo)); } + else if (is_or_like ("fedora") || + is_or_like ("rhel") || + is_or_like ("centos") || + is_or_like ("rocky") || + is_or_like ("almalinux")) + { + if (!name.empty () && name != "fedora") + fail << "unsupported package manager '" << name << "' for " + << osr->name_id << " host"; + + // If we recognized this as Fedora-like in an ad hoc manner, then + // add fedora to like_ids. + // + if (osr->name_id != "fedora" && !is_or_like ("fedora")) + osr->like_ids.push_back ("fedora"); + + r.reset (new system_package_manager_fedora ( + move (*osr), host, install, fetch, progress, yes, sudo)); + } } } |