On Fri, Jan 26, 2018 at 9:34 AM, Paul Otto <[email protected]> wrote: > This patch restores, and improves upon, expected behavior to BASH > compatibility which was lost beginning with 1.27.0. This was pulled into > Alpine 3.7 which, in turn was pulled into official Docker images beginning > with docker:17.12. As a result, a large number of CICD builds that use > "source filename" have broken everywhere. > > According to the BASH documentation, the source command should: > Read and execute commands from filename in the current shell environment > and return the exit status of the last command executed from filename. If > filename does not contain a slash, filenames in PATH are used to find the > directory containing filename. The file searched for in PATH need not be > executable. When bash is not in posix mode, the current directory is > searched if no file is found in PATH.
I wish bash wouldn't introduce gratuitous standard violations. > This patch specifically checks for when commandname is "source" This is not how bash behaves. It treats "." and "source" the same. > and only > performs the additional PWD search in that case, and only after it has > neither 1) short-circuited from a /; and 2) not been found somewhere within > the PATH. I think this should be made a config option, off by default. _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
