Subject: CVS commit: pkgsrc/shells/pbosh
From: Michael Baeuerle
Date: 2020-11-25 17:00:09
Message id: 20201125160009.C6A66FA9D@cvs.NetBSD.org

Log Message:
pbosh: Update to 20201125

Changelog from AN-2020-11-04:
- Makefile system: include/schily/nlsdefs.h no longer by default defines
  the macro __() because this is in conflict with definitions that are
  present in the system include files from newer HP-UX versions.

  Thanks to Rudi Blom for reporting.

- Bourne Shell: If a background job did finish during an implicit wait
  for a foreground job, the exit code for the background job was lost.

  This was caused by a forgotten call to statjob(jp, &si, 0, 0) in
  the function waitjob();

  Thanks to Koichi Nakashima for reporting.

- Bourne Shell: The changes from 2020-10-09 to keep the exit code from
  jobs like "(sleep 10; exit 17)&" in the job list, caused a \ 
command like

      cat /etc/termcap |more

  to stop after the first page of output because "more" died from trying
  to read the answer for continuing the output as it was not in the
  current foreground process group from the tty. This was the result of
  a forgotten call to monitor = ismonitor(xflags); in xec.c

- Bourne Shell: The changes from 2020-10-09 to keep the exit code from
  jobs like "(sleep 10; exit 17)&" could cause some wait commands \ 
to hang
  infinitely because the job list had an endless loop. The new code
  avoids to create the endless loop in the job list.

  Thanks to Koichi Nakashima for reporting.

- Bourne Shell: The changes for jobcontrol in schily-2020-10-09 could.
  cause bosh to dump core with the builtin fg(1) command because "thisjob".
  was a NULL pointer.

  We add a new lastthisjob variable to work around this problem.

  Thanks for Noci Sonack for reporting.

- bsh/Bourne Shell: str2sig() has been enhanced to support e.g.
  RTMIN+20 or RTMAX-20 as alias on platforms with 30 RT signals.

  Note that this currently only works on non-POSIX platforms like Linux
  where our private implementation is used. On Solaris, this would need
  to wait until compatibility to POSIX issue 8 has been implemented
  in the libc from Solaris.

Changelog from AN-2020-11-25:
- Makefile System: Added support for MacOS on arm64

  Thanks to a hint from Ryan Schmidt from macports

  Note that due to outstanding replies to recent changes in configure,
  it could up to now not be verified that all configure tests now work in
  a way that results in correct overall results. See below for an in
  depth report on the changes.

- Makefile System: autoconf (config.guess & config.sub) now supports
  the new arm64 Apple systems.

  Thanks to Ryan Schmidt from macports for provinding the needed uname(1)
  output.

- Makefile System: Added a new shell script "autoconf/uname" that helps
  to create shell scrips that allow to emulate an alien host system in
  order to test the correct behavior of configure.guess and configure.sub
  on the main development platform.

  This helps to adapt configure.guess and configure.sub to new platforms
  in the future.

- Makefile System: The new clang compiler as published with the upcomming
  ARM macs has been preconfigured with

      -Werror -Wimplicit-function-declaration

  as the default behavior and thus is in conflict with the existing base
  assumption of the autoconf system that minimalistic C-code used for
  compile/link allows to check for the existence of a specific function
  in libc without a need to know which system #include file is used to
  define a prototype for that function.

  This clang version, as a result of this default, behaves like a C++
  compiler and aborts if a function is used with no previous function
  prototype. This caused most of the existing autoconf test to fail with
  error messages about missing prototypes.

  We implemented a workaround using these methods for the identified
  problems:

  - Most of the exit() calls in the various main() functions have
    been replaced by return() to avoid a need to
    #include <stdlib.h> in special since these test may be the
    case for layered tests that #include files from the higher
    level parts.

  - Many autoconf tests programs now #include more system include
    files, e.g. stdlib.h and unistd.h to avoid missing prototype
    errors. This cannot reliably be done in tests that are used as
    a base for higher level tests where the high level test
    #includes own system include files, since older platforms do
    not support to #include the same file twice.

    So this is tricky...

  - A test for a Linux glibc bug caused by incorect #pragma weak
    usage inside glibc that prevents one or more functions from
    ecvt()/fcvt()/gcvt() from being usable outside glibc now uses
    hand-written prototypes for some of the libc interface
    functions in order to avoid using the system includes. If we
    did not do that, we could not use ecvt()/fcvt()/gcvt() on
    MacOS anymore.

  Thanks to Ryan Schmidt from macports for reporting and for the given
  help that was needed for remote debugging.

  Please send the needed feedback on whether the current state of the
  configure script results on correct autoconf results on the M1 Macs.

Files:
RevisionActionfile
1.17modifypkgsrc/shells/pbosh/Makefile
1.14modifypkgsrc/shells/pbosh/distinfo