1 #include "package_manager/packagemanagerconfig.h"
3 #include <boost/algorithm/string/classification.hpp>
4 #include <boost/algorithm/string/join.hpp>
5 #include <boost/algorithm/string/split.hpp>
6 #include <boost/log/trivial.hpp>
8 std::ostream& operator<<(std::ostream& os, PackageManager pm) {
11 case PackageManager::kOstree:
14 case PackageManager::kDebian:
17 case PackageManager::kOstreeDockerApp:
18 pm_str =
"ostree+docker-app";
20 case PackageManager::kNone:
25 os <<
'"' << pm_str <<
'"';
29 void PackageConfig::updateFromPropertyTree(
const boost::property_tree::ptree& pt) {
30 CopyFromConfig(type,
"type", pt);
31 CopyFromConfig(os,
"os", pt);
32 CopyFromConfig(sysroot,
"sysroot", pt);
33 CopyFromConfig(ostree_server,
"ostree_server", pt);
34 CopyFromConfig(packages_file,
"packages_file", pt);
35 CopyFromConfig(fake_need_reboot,
"fake_need_reboot", pt);
36 #ifdef BUILD_DOCKERAPP
37 CopyFromConfig(docker_apps_root,
"docker_apps_root", pt);
38 CopyFromConfig(docker_compose_bin,
"docker_compose_bin", pt);
40 CopyFromConfig(val,
"docker_apps", pt);
41 if (val.length() > 0) {
43 boost::split(docker_apps, val, boost::is_any_of(
", "), boost::token_compress_on);
44 CopyFromConfig(docker_app_params,
"docker_app_params", pt);
45 CopyFromConfig(docker_app_bin,
"docker_app_bin", pt);
50 void PackageConfig::writeToStream(std::ostream& out_stream)
const {
51 writeOption(out_stream, type,
"type");
52 writeOption(out_stream, os,
"os");
53 writeOption(out_stream, sysroot,
"sysroot");
54 writeOption(out_stream, ostree_server,
"ostree_server");
55 writeOption(out_stream, packages_file,
"packages_file");
56 writeOption(out_stream, fake_need_reboot,
"fake_need_reboot");
57 #ifdef BUILD_DOCKERAPP
58 writeOption(out_stream, boost::algorithm::join(docker_apps,
","),
"docker_apps");
59 writeOption(out_stream, docker_apps_root,
"docker_apps_root");
60 writeOption(out_stream, docker_app_params,
"docker_app_params");
61 writeOption(out_stream, docker_app_bin,
"docker_app_bin");
62 writeOption(out_stream, docker_compose_bin,
"docker_compose_bin");