aboutsummaryrefslogtreecommitdiff
path: root/bpkg/system-package-manager.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2023-03-13 13:25:08 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2023-03-13 14:08:15 +0200
commit3cc61ab4a6275428520cb0fb2f18dc3e09aef28a (patch)
tree98e4de2fc914c3510668d29879de30a483712c40 /bpkg/system-package-manager.cxx
parent5bdce34d722233ea81557d02ebe213cc83cf4d7a (diff)
Move os-release facility to libbutl
Diffstat (limited to 'bpkg/system-package-manager.cxx')
-rw-r--r--bpkg/system-package-manager.cxx15
1 files changed, 13 insertions, 2 deletions
diff --git a/bpkg/system-package-manager.cxx b/bpkg/system-package-manager.cxx
index 793dec6..9e54418 100644
--- a/bpkg/system-package-manager.cxx
+++ b/bpkg/system-package-manager.cxx
@@ -30,6 +30,17 @@ namespace bpkg
// vtable
}
+ static optional<os_release>
+ host_release (const target_triplet& host)
+ try
+ {
+ return butl::host_os_release (host);
+ }
+ catch (const runtime_error& e)
+ {
+ fail << "unable to determine host operating system release: " << e << endf;
+ }
+
// Return true if the specified operating system is or like the specified
// id.
//
@@ -66,7 +77,7 @@ namespace bpkg
unique_ptr<system_package_manager> r;
- if (optional<os_release> oos = host_os_release (host))
+ if (optional<os_release> oos = host_release (host))
{
os_release& os (*oos);
@@ -138,7 +149,7 @@ namespace bpkg
unique_ptr<system_package_manager> r;
- if (optional<os_release> oos = host_os_release (host))
+ if (optional<os_release> oos = host_release (host))
{
os_release& os (*oos);