a5100a0bd1
getopt is the only command where /usr/local/bin is specified explicitly. All other commands are assumed to exist in the PATH in one form or another. Remove this exception and require gnugetopt/getopt to be in the user's PATH. In the case of macos Homebrew, getopt is 'keg only' hence not linked into /usr/local/bin whilst other commands are linked and likely found by virtue of /usr/local/bin being in PATH. Since 2019 Homebrew is very reluctant to install links that have potential to override default OS behaviour, eg: following instructions on our current 'how to build on macos' wiki page: $ brew ln gnu-getopt --force Warning: Refusing to link macOS-provided software: gnu-getopt If you need to have gnu-getopt first in your PATH run: echo 'export PATH="/usr/local/opt/gnu-getopt/bin:$PATH"' >> ~/.zshrc A better option for macos is to link getopt as 'gnugetopt' in /usr/local/bin, thus the build system will find 'gnugetopt' but other applications looking for just 'getopt' will find the original macos binary. Ultimately it makes sense that 'GNU' dependencies are placed in /usr/local/bin and /usr/local/bin is included in the user's PATH. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> |
||
---|---|---|
.. | ||
site | ||
autotools.mk | ||
cmake.mk | ||
debug.mk | ||
depends.mk | ||
device_table.txt | ||
download.mk | ||
feeds.mk | ||
hardened-ld-pie.specs | ||
hardening.mk | ||
host-build.mk | ||
image-commands.mk | ||
image-legacy.mk | ||
image.mk | ||
kernel-build.mk | ||
kernel-defaults.mk | ||
kernel-version.mk | ||
kernel.mk | ||
netfilter.mk | ||
nls.mk | ||
package-bin.mk | ||
package-defaults.mk | ||
package-dumpinfo.mk | ||
package-ipkg.mk | ||
package-seccomp.mk | ||
package.mk | ||
prereq-build.mk | ||
prereq.mk | ||
quilt.mk | ||
rootfs.mk | ||
scan.awk | ||
scan.mk | ||
shell.sh | ||
subdir.mk | ||
target.mk | ||
toolchain-build.mk | ||
toplevel.mk | ||
u-boot.mk | ||
uclibc++.mk | ||
unpack.mk | ||
verbose.mk | ||
version.mk |