Path to this page:
Subject: CVS commit: pkgsrc/shells/pbosh
From: Michael Baeuerle
Date: 2019-10-24 19:08:02
Message id: 20191024170802.3912EFA84@cvs.NetBSD.org
Log Message:
shells/pbosh: Update to 20191007
Based on SchilyTools Release from 2019-10-07.
Changelog
=========
- configure: Some shells report a syntax error with "< file (cmd)"
and need the redirection statement to be *after* the command. Our
changes to support the V7 shell by adding round braces caused ash
variants like "dash" to fail.
Thanks to Harald van Dijk for reporting
- cont/cc-config.sh: canged some :>some-file statements into
(:)>some-file. they have meen missed when introducing work arounds
for the V7 Shell on Ultrix that does not support I/O redirection
for builtin commands.
Thanks to Robert Clausecker for reporting
- libschily/comerr.c: If the environment COMERR_EXCODE has been set to
a value that starts with '0', the normal exit code mapping is switched
off, but all potential exit code values != 0 that follow the rule
(excode % 256) == 0
are mapped to -64. This helps to avoid unexpected behavior with
historic shells that still use the old waitpid() and modern
shells (using waitid() but in a backward compatible default mode)
where a program that terminates with
exit(256);
is evaluated in conditional statements as if the exit code was 0.
- Bourne Shell: Missing Makefile.dot added.
- Bourne Shell / bsh / ved: The dotdiles TAR archives are now again named
*/dotfiles.tar.bz2 as the change in the previous release caused
problems.
Thanks for Gabriele Balducci balducci@units.it and Robert Clausecker
for reporting
- Bourne Shell: Cstyle changes (long lines removed) in io.c & expand.c
- Bourne Shell: Fixed a bug that prevented to forward the special exit
cause (NOTFOUND or NOEXEC) to the vfork() parent process via.
struct siginfo.si_code in some cases. These values are added beyond
the POSIX CLD_* values in siginfo.si_code from the POSIX standard.
They are passed back from the vfork()ed child to the parent via the
shared memory from the vfork() implementation.
- Bourne Shell: introduced shared memory to be able to forward the
special exit cause (NOTFOUND or NOEXEC) to the parent even in case it
used fork() instead of vfork().
- Bourne Shell: Added support for a new automatic parameter "$/" to
complement the existing parameter "$?".
This is a result from a discussion in a POSIX teleconference from
April 2016.
This new parameter returns *decimal numbers* for a normal command
termination and *text* for abnormal command termination:
number<>Exit code from normal termination. This is a signed 32 bit
value from the exit() parameter on POSIX systems and a 8 bit
value on pre-POSIX systems like Linux.
signame>A signal name (see kill -l) if the command has been terminated
by a signal. This is the signal name with the leading "SIG"
stripped off.
NOEXEC<>The command was found but could not be executed, e.g. as
a result of missing permissions or because the name points
to a directory.
NOTFOUND The command could not be found.
Note that currently, the strings "NOEXEC" and "NOTFOUND" \
are passed
back reliably from vfork(2) childs or when the related state is already
known by the cache. In other cases, the reliability of $/ with respect
to "NOEXEC" and "NOTFOUND" has not yet been verified. It \
thus may
return 126 or 127 as with $?. The string values "NOEXEC" and \
"NOTFOUND"
cannot be passed back from a subshell, using only the waitid()
mechanism. To circumvent that problem, from fork()ed subshells,.
shared memory or non-fork()ed virtual subshells would work.
If you detect a complex command where you get 126 or 127 instead of
the exoected "NOEXEC" or "NOTFOUND", please send a report.
We for now choose to use shared memory as this is easier to implement.
Later versions will mosy likely implement virtual fork()less
subshells.
- Bourne Shell: minor Cstyle changes on word.c and macro.c
- Bourne Shell: New version date
Files: