Package: zsh Version: 5.7.1-1+b1 Severity: normal POSIX mandates that all elements in a pipeline are run in subshells, but permits extensions that run some or all of those elements in the main shell environment instead.
zsh always runs the final element in a pipeline in the normal shell environment, which breaks programs which expect to conform to POSIX. For example, the Git testsuite fails in a variety of ways when zsh is /bin/sh. This behavior is fine as zsh, since in that case it's obvious that extensions are being enabled, but when "emulate sh" is set, the final element in a pipeline should also be run in a subshell for maximum compatibility with POSIX. As an example, the attached program should print "boo", "baz", and "foo", in that order when run under "zsh --emulate sh", but does not: ---- % dash foo.sh boo baz foo % zsh --emulate sh foo.sh boo baz baz ---- -- Package-specific info: Packages which provide vendor completions: Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==============-===============-============-=========================================================== ii curl 7.66.0-1+b1 amd64 command line tool for transferring data with URL syntax ii docker-compose 1.25.0-1 all Punctual, lightweight development environments using Docker ii docker.io 19.03.4+dfsg2-2 amd64 Linux container runtime ii pulseaudio 13.0-3 amd64 PulseAudio sound server ii systemd 243-8 amd64 system and service manager ii tmuxinator 1.1.2-1 all Create and manage tmux sessions easily ii udev 243-8 amd64 /dev/ and hotplug management daemon ii vlc-bin 3.0.8-3 amd64 binaries from VLC dpkg-query: no path found matching pattern /usr/share/zsh/vendor-functions/ -- System Information: Debian Release: bullseye/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 5.3.0-2-amd64 (SMP w/8 CPU cores) Kernel taint flags: TAINT_WARN Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages zsh depends on: ii libc6 2.29-3 ii libcap2 1:2.27-1 ii libtinfo6 6.1+20191019-1 ii zsh-common 5.7.1-1 Versions of packages zsh recommends: ii libc6 2.29-3 ii libncursesw6 6.1+20191019-1 ii libpcre3 2:8.39-12+b1 Versions of packages zsh suggests: pn zsh-doc <none> -- no debconf information -- brian m. carlson: Houston, Texas, US OpenPGP: https://keybase.io/bk2204
foo.sh
Description: Bourne shell script
signature.asc
Description: PGP signature