diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2023-02-09 09:00:55 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2023-02-09 09:00:55 +0200 |
commit | f1d08308522bbcbc655f6e55b4b84af9253d8679 (patch) | |
tree | bdfce6b84427691b2aec989c2b7ee4061cd018e7 /bpkg/system-package-manager-fedora.hxx | |
parent | d6500b9d7ee5cf68a7507f9d4d726ffb767d827a (diff) |
Infrastructure work for binary distribution package generation
Diffstat (limited to 'bpkg/system-package-manager-fedora.hxx')
-rw-r--r-- | bpkg/system-package-manager-fedora.hxx | 39 |
1 files changed, 37 insertions, 2 deletions
diff --git a/bpkg/system-package-manager-fedora.hxx b/bpkg/system-package-manager-fedora.hxx index 16fe9a3..52d2a3f 100644 --- a/bpkg/system-package-manager-fedora.hxx +++ b/bpkg/system-package-manager-fedora.hxx @@ -205,10 +205,42 @@ namespace bpkg virtual void pkg_install (const vector<package_name>&) override; + virtual void + generate (packages&&, + packages&&, + strings&&, + const dir_path&, + optional<recursive_mode>) override; + public: - // Expects os_release::name_id to be "fedora" or os_release::like_ids to + // Expect os_release::name_id to be "fedora" or os_release::like_ids to // contain "fedora". - using system_package_manager::system_package_manager; + // + system_package_manager_fedora (bpkg::os_release&& osr, + const target_triplet& h, + string a, + optional<bool> progress, + bool install, + bool fetch, + bool yes, + string sudo) + : system_package_manager (move (osr), + h, + a.empty () ? arch_from_target (h) : move (a), + progress, + install, + fetch, + yes, + move (sudo)) {} + + system_package_manager_fedora (bpkg::os_release&& osr, + const target_triplet& h, + string a, + optional<bool> progress) + : system_package_manager (move (osr), + h, + a.empty () ? arch_from_target (h) : move (a), + progress) {} // Implementation details exposed for testing (see definitions for // documentation). @@ -240,6 +272,9 @@ namespace bpkg const string&, const vector<pair<string, string>>&); + static string + arch_from_target (const target_triplet&); + // If simulate is not NULL, then instead of executing the actual dnf // commands simulate their execution: (1) for `dnf list` and `dnf // repoquery --requires` by printing their command lines and reading the |