aboutsummaryrefslogtreecommitdiff
path: root/bpkg/system-package-manager.cxx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2023-01-26 20:58:09 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2023-01-31 14:43:58 +0300
commitee6b05b76ec3f8439ed9475e7f987dfb22395e82 (patch)
tree9c680ac431289819e2b0395276fd5db21f342364 /bpkg/system-package-manager.cxx
parent3ead959f9638044a49204c49daf8fa4860321f7a (diff)
Start Fedora implementation
Diffstat (limited to 'bpkg/system-package-manager.cxx')
-rw-r--r--bpkg/system-package-manager.cxx18
1 files changed, 18 insertions, 0 deletions
diff --git a/bpkg/system-package-manager.cxx b/bpkg/system-package-manager.cxx
index 9f5dad0..2e48fe0 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,23 @@ 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 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");
+
+ // @@ TODO: verify name if specified.
+
+ r.reset (new system_package_manager_fedora (
+ move (*osr), host, install, fetch, progress, yes, sudo));
+ }
}
}