This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 8.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git
commit 47b496d92749d418af57873b65eb465fb5e87862 Author: Xavier Chi <[email protected]> AuthorDate: Thu Jun 7 13:53:55 2018 -0500 Add infodir back to Layout and clean up some code Although infodir is not used, it is better to add it back to keep the consistency and at least have it stored somewhere to use. (cherry picked from commit 6d5d870399ed772c47f5683b10533c306dc298b4) --- cmd/traffic_layout/engine.cc | 11 ++++++----- cmd/traffic_layout/engine.h | 2 +- lib/ts/I_Layout.h | 1 + lib/ts/Layout.cc | 4 +++- lib/ts/runroot.cc | 12 ++++++------ lib/ts/runroot.h | 6 ++++-- 6 files changed, 21 insertions(+), 15 deletions(-) diff --git a/cmd/traffic_layout/engine.cc b/cmd/traffic_layout/engine.cc index 6d42a35..6055ac8 100644 --- a/cmd/traffic_layout/engine.cc +++ b/cmd/traffic_layout/engine.cc @@ -433,6 +433,7 @@ RunrootEngine::copy_runroot(const std::string &original_root, const std::string original_map["runtimedir"] = TS_BUILD_RUNTIMEDIR; original_map["logdir"] = TS_BUILD_LOGDIR; original_map["mandir"] = TS_BUILD_MANDIR; + original_map["infodir"] = TS_BUILD_INFODIR; original_map["cachedir"] = TS_BUILD_CACHEDIR; // copy each directory to the runroot path @@ -455,8 +456,8 @@ RunrootEngine::copy_runroot(const std::string &original_root, const std::string path_map[it.first] = Layout::relative_to(".", join_path); } - // don't copy the prefix, mandir and localstatedir - if (it.first != "exec_prefix" && it.first != "localstatedir" && it.first != "mandir") { + // don't copy the prefix, mandir, localstatedir and infodir + if (it.first != "exec_prefix" && it.first != "localstatedir" && it.first != "mandir" && it.first != "infodir") { if (!copy_directory(old_path, new_path, it.first)) { ink_warning("Unable to copy '%s' - %s", it.first.c_str(), strerror(errno)); ink_notice("Creating '%s': %s", it.first.c_str(), new_path.c_str()); @@ -574,7 +575,7 @@ fix_runroot(RunrootMapType &path_map, RunrootMapType &permission_map, RunrootMap } std::cout << "Read permission fixed for '" + name + "': " + path << std::endl; } - if (name == "localstatedir" || name == "logdir" || name == "runtimedir" || name == "cachedir") { + if (name == "logdir" || name == "runtimedir" || name == "cachedir") { // write if (permission[1] != '1') { if (chmod(path.c_str(), stat_buffer.st_mode | read_permission | write_permission) < 0) { @@ -697,11 +698,11 @@ RunrootEngine::verify_runroot() std::cout << name << ": \x1b[1m" + path_map[name] + "\x1b[0m" << std::endl; // output read permission - if (name == "includedir" || name == "sysconfdir" || name == "datadir") { + if (name == "localstatedir" || name == "includedir" || name == "sysconfdir" || name == "datadir") { output_read_permission(permission); } // output write permission - if (name == "localstatedir" || name == "logdir" || name == "runtimedir" || name == "cachedir") { + if (name == "logdir" || name == "runtimedir" || name == "cachedir") { output_read_permission(permission); output_write_permission(permission); } diff --git a/cmd/traffic_layout/engine.h b/cmd/traffic_layout/engine.h index 241ba59..7144ac4 100644 --- a/cmd/traffic_layout/engine.h +++ b/cmd/traffic_layout/engine.h @@ -80,5 +80,5 @@ struct RunrootEngine { "runtimedir", "logdir", "cachedir"}; // map for yaml file emit - std::unordered_map<std::string, std::string> path_map; + RunrootMapType path_map; }; diff --git a/lib/ts/I_Layout.h b/lib/ts/I_Layout.h index cf6d7f5..e35dd95 100644 --- a/lib/ts/I_Layout.h +++ b/lib/ts/I_Layout.h @@ -95,5 +95,6 @@ struct Layout { std::string runtimedir; std::string logdir; std::string mandir; + std::string infodir; std::string cachedir; }; diff --git a/lib/ts/Layout.cc b/lib/ts/Layout.cc index c34280a..4042e39 100644 --- a/lib/ts/Layout.cc +++ b/lib/ts/Layout.cc @@ -118,7 +118,7 @@ Layout::Layout(std::string_view const _prefix) } else { std::string path; int len; - std::unordered_map<std::string, std::string> dir_map = check_runroot(); + RunrootMapType dir_map = check_runroot(); if (dir_map.size() != 0) { prefix = dir_map["prefix"]; exec_prefix = dir_map["exec_prefix"]; @@ -133,6 +133,7 @@ Layout::Layout(std::string_view const _prefix) runtimedir = dir_map["runtimedir"]; logdir = dir_map["logdir"]; mandir = dir_map["mandir"]; + infodir = dir_map["infodir"]; cachedir = dir_map["cachedir"]; return; } @@ -164,6 +165,7 @@ Layout::Layout(std::string_view const _prefix) runtimedir = layout_relative(prefix, TS_BUILD_RUNTIMEDIR); logdir = layout_relative(prefix, TS_BUILD_LOGDIR); mandir = layout_relative(prefix, TS_BUILD_MANDIR); + infodir = layout_relative(prefix, TS_BUILD_INFODIR); cachedir = layout_relative(prefix, TS_BUILD_CACHEDIR); } diff --git a/lib/ts/runroot.cc b/lib/ts/runroot.cc index ac85cd6..23e103a 100644 --- a/lib/ts/runroot.cc +++ b/lib/ts/runroot.cc @@ -33,7 +33,7 @@ Example: ./traffic_server --run-root=/path/to/sandbox Need a yaml file in the sandbox with key value pairs of all directory locations for other programs to use Directories needed in the yaml file: -prefix, exec_prefix, includedir, localstatedir, bindir, logdir, mandir, sbindir, sysconfdir, +prefix, exec_prefix, includedir, localstatedir, bindir, logdir, sbindir, sysconfdir, datadir, libexecdir, libdir, runtimedir, cachedir. */ @@ -207,7 +207,7 @@ runroot_map_default() } // return a map of all path in runroot_path.yml -std::unordered_map<std::string, std::string> +RunrootMapType runroot_map(const std::string &prefix) { std::string yaml_path = Layout::relative_to(prefix, "runroot_path.yml"); @@ -215,11 +215,11 @@ runroot_map(const std::string &prefix) file.open(yaml_path); if (!file.good()) { ink_warning("Bad path '%s', continue with default value", prefix.c_str()); - return std::unordered_map<std::string, std::string>{}; + return RunrootMapType{}; } std::ifstream yamlfile(yaml_path); - std::unordered_map<std::string, std::string> map; + RunrootMapType map; std::string str; while (std::getline(yamlfile, str)) { int pos = str.find(':'); @@ -238,11 +238,11 @@ runroot_map(const std::string &prefix) // check for the using of runroot // a map of all path will be returned // if we do not use runroot, a empty map will be returned. -std::unordered_map<std::string, std::string> +RunrootMapType check_runroot() { if (using_runroot.empty()) { - return std::unordered_map<std::string, std::string>{}; + return RunrootMapType{}; } int len = using_runroot.size(); diff --git a/lib/ts/runroot.h b/lib/ts/runroot.h index be3852a..96ba791 100644 --- a/lib/ts/runroot.h +++ b/lib/ts/runroot.h @@ -29,6 +29,8 @@ #include <string> #include <unordered_map> +typedef std::unordered_map<std::string, std::string> RunrootMapType; + std::string check_path(const std::string &path); std::string check_parent_path(const std::string &path); @@ -38,7 +40,7 @@ void runroot_handler(const char **argv, bool json = false); // get a map from default layout std::unordered_map<std::string, std::string> runroot_map_default(); // get runroot map from yaml path and prefix -std::unordered_map<std::string, std::string> runroot_map(const std::string &prefix); +RunrootMapType runroot_map(const std::string &prefix); // help check runroot for layout -std::unordered_map<std::string, std::string> check_runroot(); +RunrootMapType check_runroot(); -- To stop receiving notification emails like this one, please contact [email protected].
