office-gobmx/shell
Eli Schwartz a1c854fffe use portable "command -v" to detect installed programs, part 1
The "which" utility is not guaranteed to be installed either, and if it
is, its behavior is not portable either. This means that when various
programs are installed, the `which` check will report a fatal error
because the which tool did not exist and the shell returned a nonzero
status when attempting to fork+exec. If it did exist, it might not be an
implementation of `which` that returns nonzero when commands do not
exist.

The general scripting suggestion is to use the "command -v" shell
builtin; this is required to exist in all POSIX 2008 compliant shells,
and is thus guaranteed to work everywhere.

For some in-depth discussions on the topic, see:
- https://mywiki.wooledge.org/BashFAQ/081
- https://unix.stackexchange.com/questions/85249/why-not-use-which-what-to-use-then/85250#85250

Examples of open-source shells likely to be installed as /bin/sh on
Linux, which implement the 15-year-old standard: ash, bash, busybox,
dash, ksh, mksh and zsh.

This commit changes two programs installed to end-user systems.

Change-Id: I6013965bb914f5b0d593a876866b991e210ef5b8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160662
Tested-by: Jenkins
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2024-01-22 13:46:45 +01:00
..
inc Make NC_ constexpr-friendly 2023-10-12 18:17:49 +02:00
qa/zip
source use portable "command -v" to detect installed programs, part 1 2024-01-22 13:46:45 +01:00
AllLangMoTarget_shell.mk
CppunitTest_shell_zip.mk
CustomTarget_shlxthdl_res.mk
CustomTarget_spsupp_idl.mk
CustomTarget_x64.mk
Executable_lngconvex.mk
Executable_regsvrex.mk
Executable_senddoc.mk
Executable_spsupp_helper.mk
Executable_uri_encode.mk
IwyuFilter_shell.yaml
Library_cmdmail.mk
Library_desktopbe.mk
Library_jumplist.mk
Library_kf5be.mk
Library_localebe.mk
Library_losessioninstall.mk
Library_macbe.mk
Library_ooofilt.mk
Library_ooofilt_x64.mk
Library_propertyhdl.mk
Library_propertyhdl_x64.mk
Library_shlxthdl.mk
Library_shlxthdl_x64.mk
Library_smplmail.mk
Library_spsupp_x64.mk
Library_spsupp_x86.mk
Library_syssh.mk
Library_wininetbe.mk
Makefile
Module_shell.mk
Package_senddoc.mk
README.md
StaticLibrary_shlxthandler_common.mk
StaticLibrary_shlxthandler_common_x64.mk
StaticLibrary_xmlparser.mk
StaticLibrary_xmlparser_x64.mk
WinResTarget_shlxthdl.mk
WinResTarget_spsupp.mk
WinResTarget_spsupp_dlg.mk

System Helpers

Launching URI, system integration, external mailer support etc.