aboutsummaryrefslogtreecommitdiff
path: root/bpkg/system-package-manager-debian.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'bpkg/system-package-manager-debian.hxx')
-rw-r--r--bpkg/system-package-manager-debian.hxx13
1 files changed, 9 insertions, 4 deletions
diff --git a/bpkg/system-package-manager-debian.hxx b/bpkg/system-package-manager-debian.hxx
index a2f56a2..74d9867 100644
--- a/bpkg/system-package-manager-debian.hxx
+++ b/bpkg/system-package-manager-debian.hxx
@@ -4,6 +4,8 @@
#ifndef BPKG_SYSTEM_PACKAGE_MANAGER_DEBIAN_HXX
#define BPKG_SYSTEM_PACKAGE_MANAGER_DEBIAN_HXX
+#include <map>
+
#include <bpkg/types.hxx>
#include <bpkg/utility.hxx>
@@ -17,14 +19,14 @@ namespace bpkg
class system_package_manager_debian: public system_package_manager
{
public:
- virtual const vector<unique_ptr<system_package_status>>*
+ virtual optional<const system_package_status*>
pkg_status (const package_name&,
const available_packages*,
bool install,
bool fetch) override;
- virtual bool
- pkg_install (const package_name&, const version&) override;
+ virtual void
+ pkg_install (const vector<package_name>&) override;
public:
// Note: expects os_release::name_id to be "debian" or os_release::like_id
@@ -35,7 +37,10 @@ namespace bpkg
: system_package_manager (move (osr)) {}
protected:
- bool fetched_ = false; // True if already fetched metadata.
+ bool fetched_ = false; // True if already fetched metadata.
+ bool installed_ = false; // True if already installed.
+
+ std::map<package_name, unique_ptr<system_package_status>> status_cache_;
};
}