[
https://issues.apache.org/jira/browse/MESOS-4576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15127107#comment-15127107
]
Joseph Wu commented on MESOS-4576:
----------------------------------
I think the usage for the {{sha512}} case would be multiple calls to
{{os::which}}.
i.e. Something not-too-pretty like:
{code}
Option<string> whichSha = os::which("shasum");
if (whichSha.isNone()) {
whichSha = os::which("sha512sum");
if (whichSha.isNone()) {
whichSha = os::which("openssl");
if (whichSha.isNone()) {
return Error("...");
}
}
}
{code}
> Introduce a stout helper for "which"
> ------------------------------------
>
> Key: MESOS-4576
> URL: https://issues.apache.org/jira/browse/MESOS-4576
> Project: Mesos
> Issue Type: Improvement
> Components: stout
> Reporter: Joseph Wu
> Labels: mesosphere
>
> We may want to add a helper to {{stout/os.hpp}} that will natively emulate
> the functionality of the Linux utility {{which}}. i.e.
> {code}
> Option<string> which(const string& command)
> {
> Option<string> path = os::getenv("PATH");
> // Loop through path and return the first one which os::exists(...).
> return None();
> }
> {code}
> This helper may be useful:
> * for test filters in {{src/tests/environment.cpp}}
> * a few tests in {{src/tests/containerizer/port_mapping_tests.cpp}}
> * the {{sha512}} utility in {{src/common/command_utils.cpp}}
> * as runtime checks in the {{LogrotateContainerLogger}}
> * etc.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)