1 #include "debianmanager.h" 2 #include "packagemanagerfactory.h" 7 AUTO_REGISTER_PACKAGE_MANAGER(PACKAGE_MANAGER_DEBIAN,
DebianManager);
9 Json::Value DebianManager::getInstalledPackages()
const {
11 return Json::Value(Json::arrayValue);
15 std::lock_guard<std::mutex> guard(mutex_);
16 LOG_INFO <<
"Installing " << target.filename() <<
" as Debian package...";
17 std::string cmd =
"dpkg -i ";
20 auto target_file = openTargetFile(target);
22 boost::filesystem::path deb_path = package_dir / target.filename();
23 std::ofstream deb_file(deb_path.string(), std::ios::binary);
24 deb_file << target_file.rdbuf();
28 int status = Utils::shell(cmd + deb_path.string(), &output,
true);
30 LOG_INFO <<
"... Installation of Debian package successful";
31 storage_->savePrimaryInstalledVersion(target, InstalledVersionUpdateMode::kCurrent);
34 LOG_ERROR <<
"... Installation of Debian package failed";
39 boost::optional<Uptane::Target> current_version;
40 storage_->loadPrimaryInstalledVersions(¤t_version,
nullptr);
42 if (!!current_version) {
43 return *current_version;
46 return Uptane::Target::Unknown();
Package installation failed.