[jira] [Commented] (MESOS-4576) Introduce a stout helper for "which"
[ https://issues.apache.org/jira/browse/MESOS-4576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15243064#comment-15243064 ] Guangya Liu commented on MESOS-4576: I created a patch here https://reviews.apache.org/r/45326/ > 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 >Assignee: Disha Singh > 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 which(const string& command) > { > Option 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)
[jira] [Commented] (MESOS-4576) Introduce a stout helper for "which"
[ https://issues.apache.org/jira/browse/MESOS-4576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15242206#comment-15242206 ] Guangya Liu commented on MESOS-4576: [~dishjira] Are you still working on this? I need this patch in my patch chain and want to have this merged soon, do you mind I take over this if you do not have time cycle on this? Thanks. > 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 >Assignee: Disha Singh > 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 which(const string& command) > { > Option 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)
[jira] [Commented] (MESOS-4576) Introduce a stout helper for "which"
[ https://issues.apache.org/jira/browse/MESOS-4576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15127429#comment-15127429 ] haosdent commented on MESOS-4576: - +1 > 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 which(const string& command) > { > Option 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)
[jira] [Commented] (MESOS-4576) Introduce a stout helper for "which"
[ https://issues.apache.org/jira/browse/MESOS-4576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15127138#comment-15127138 ] Jojy Varghese commented on MESOS-4576: -- Not sure. The choice between *which* and *find* is same as the use case of these commands on a linux machine. *which* is used when you know the command and want to find the path to the command in PATH. *find* is used when you want to search for a file/command in a path. I think, in the case of SHAxxx, what we need is a combination of which and find- we want to *find* the first command that looks like "sha\(512\)\*sum"|"openssl" in a set of Paths ( that could be PATH). > 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 which(const string& command) > { > Option 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)
[jira] [Commented] (MESOS-4576) Introduce a stout helper for "which"
[ 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 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 which(const string& command) > { > Option 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)
[jira] [Commented] (MESOS-4576) Introduce a stout helper for "which"
[ https://issues.apache.org/jira/browse/MESOS-4576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15127080#comment-15127080 ] Jojy Varghese commented on MESOS-4576: -- Wondering if we need another interface that accepts a regular expression of command. For example, in the case of shasum, we dont know what command to look for *shasum* or *sha512sum* or maybe *openssl* (openssl dgst). > 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 which(const string& command) > { > Option 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)
[jira] [Commented] (MESOS-4576) Introduce a stout helper for "which"
[ https://issues.apache.org/jira/browse/MESOS-4576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15127047#comment-15127047 ] Jie Yu commented on MESOS-4576: --- +1 We need to check if the binary is executable or not as well (using 'access'). > 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 which(const string& command) > { > Option 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)