pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/shells/bosh



Module Name:    pkgsrc
Committed By:   micha
Date:           Mon May 11 16:52:07 UTC 2020

Modified Files:
        pkgsrc/shells/bosh: Makefile distinfo

Log Message:
bosh: Update to 20200511

Fixed path of true and false utilities for testsuite.
tbl of NetBSD does not work, install man page with unprocessed tables as
workaround.

Changes from AN-2020-03-11:
-       configure: The autoconfiguration now has an enhanced test for waitid()
        that was needed since Mac OS is still not POSIX compliant and returns 0
        instead of the signal number for a process that has been killed by a
        signal. MacOS did pass the POSIX certification as a result of a missing
        test for that problem.

        Since every vertified OS needs to run an annual refresh the
        certification with recent versions of the test, I guess that
        Mac OS (Catalina updates) may become more compliant witin a year.

-       psmake: The portable bootstrap compile environment for smake missed
        a symlink for unsetenv.c to libschily since the related code has been
        moved to libschily in 2018. This prevented compilation on IRIX.

        Thanks to Kazuo Kuroi for reporting

-       libshedit: mystdio.h now calls #undef sprintf and #undef snprintf
        before redefining the names. This avoids clang warnings on MacOS.

-       Bourne Shell: set -m now works in scripts as well. Before, bosh did
        never call startjobs() when the shell startup was done with a shell
        script.

-       Bourne Shell: The shell now supports the alternate ;& switch
        command limiter in addition to ;; where ;& implements a fallthrough
        to the next command list regardless on thether there is a match or not.

-       Bourne Shell: The file xec.c has been reindented for the "case" support
        code in the interpreter. The indentation is now one tab less so code
        becomes more readable.

-       ved/bsh/bosh: map.c now includes better command for the routines that
        implement fallback to some basic mapping when no user defined mapping
        has been set up.

Changes from AN-2020-03-27:
-       Bourne Shell: The case statement now supports the alternate end case
        symbol ";;&" that has been introduced by bash. If ";;&" is used instead
        of ";;", the next pattern list is evaluated and if there is a match,
        the related command list is executed.

Changes from AN-2020-04-18:
-       Bourne Shell: IRIX has ls(1) installed as /sbin/ls and this caused
        some of our unit tests to fail. We now only check for "bin/ls" and
        no longer for "/bin/ls" in "type" return messages.

-       Bourne Shell/bsh: signames.c has been modified to work correctly if the
        number of statically defined realtime signals is odd. This applies to
        NetBSD and caused the shells to miss RTMIN+15 on NetBSD.

        Thanks to Robert Elz for reporting

-       Bourne Shell: A new trap code "ERR" as been introduced. This is modeled
        after a feature from ksh88. "trap cmd ERR" causes "cmd" to be called
        whenever a command causes a non-zero exit code. The "cmd" is not called
        in case that with "set -e" the shell would not exit.

        This is not required by POSIX but helpful.

-       Bourne Shell: A new set of unit tests for the ERR trap has been added.

-       Bourne Shell: An attempt to fix the POSIX behavior for set -e from
        October 2018 has been identified to be wrong. If we kept that change,
        a list with "set -e; ..." and a failing command would not exit as
        expected.

-       Bourne Shell: A new piece of code has been added to handle set -e
        for function calls.

-       Bourne Shell: The man page now better explains the behavior, if in
        set -e mode.

-       Bourne Shell: print.c::prs_cntl() could cause a buffer overflow with
        "unprintable" multi byte UNICODE characters that are printed as list
        of octal escape sequences. the buffer overflow happened because there
        was only redzone space for one such octal escape sequence.

        Thanks to Heiko Ei�feldt for reporting

Changes from AN-2020-05-11:
-       Makefile system: A new version of the BSD make (bmake) program fixed
        a bug in pattern macro substitution, so we are now able to detect
        BSD make and to read BSD make program specific rules.

        This could in theory allow us to support BSD make in the future,
        but...

        Note that we on the other side discovered a new bug with pattern
        macro substitution in bsd make: The substitution:

                $(FOO:%=bar/%)

        is replaced by "bar/" with an empty "FOO", but of course, with an
        empty FOO, the substitution should be empty as well.

        This second bug (above) was fixed on May 6th, but we do not yet have
        all needed make rules and we do not know whether other bugs may still
        prevent the usability of BSD make. Supporting BSD make will be hard
        as BSD make does not support pattern matching default rules and this
        is important for placing the .o files into a sub-directory.

        Also note that the portable program source for "bmake" from "pkgsrc"
        is 2 years old and thus currently cannot be supported at all. If
        you like to experiment on your own, you need to get this version:

                http://crufty.net/help/sjg/bmake.html

        see

                http://www.crufty.net/ftp/pub/sjg/bmake.tar.gz

        and replace the newer files from the netbsd.org CVS tree by hand in
        order to fix the first and second mentioned pattern macro substitution
        bug.

-       Makefile system: RULES/MKLINKS was enhanced to create a new symlink
        RULES/r-bsdmake.tag that points to RULES/r-make.tag

-       Makefile system: The archive makefiles.tar.bz2 has been added to the
        schilytools tree to allow easy reuse of the makefile system for own
        projects.

-       Bourne Shell: The unit tests for the new ERR trap did not work on
        Solaris because /bin/false on Solaris causes an exit code of 255.
        We now only check for an exit code != 0.

-       Bourne Shell: Some of the unit tests for the trap command are now only
        run in case that the SUT is "bosh".

-       Bourne Shell: set -- now checks the '\0' character at the end of
        the string "--". This fixes strange behavior with argument strings that
        start with "--".

-       Bourne Shell: Added a new flag XEC_INFUNC to the xflag parameter to mark
        the fact when inside a function.

-       Bourne Shell: set -e no longer causes commands with nonzero exit code
        to abort inside a function in case that the return code of that function
        is evaluated by e.g. an "if" statement.

        Thanks to Koichi Nakashima for reporting

-       Bourne Shell: A unit test for the above bug has been added.

-       Bourne Shell: $- may no longer be partially wrong (and miss the state
        of the -e flag).

        Thanks to Koichi Nakashima for reporting

-       Bourne Shell: under some rare conditions, the syntax tree -> cmdline
        converter could omit a command delimiter. This was the result of the
        fact that a helper variable "didnl" (used for codeoutput beautifying)
        was not reset in func.c and thus could cause

                printf a ; printf b

        to print "aprintf b" instead of "ab"

        Thanks to Koichi Nakashima for reporting

-       Bourne Shell: A unit test for the above bug has been added.

-       Bourne Shell: A command like:

                command | while read name; do loopcmd; done

        did stop after the first loop because "read" did then read from stdin
        instead of using the pipe file descriptor. This happened only of
        "loopcmd" was not a shell builtin.

        Thanks to Koichi Nakashima for reporting

-       Bourne Shell: A unit test for the above bug has been added.

-       Bourne Shell: When we added support for ${var+value with spaces}
        4 years ago, we forgot to enhance the lexer the same way for things
        like "${var+value with spaces}" and "${var+"value with spaces"}".
        This has been forgotten, because a different part of the lexer is
        used to parse that kind of quoted strings. The lexer now supports
        looking for closing '}' in quoted text as well.

        Thanks to Koichi Nakashima for reporting

-       Bourne Shell: A unit test for the above bug has been added.

-       Bourne Shell: The expression "${var1#"$var2"}" has been introduced by
        ksh88 with strange rules for the way the double quotes past # are
        handled. We now support them....

        Thanks to Koichi Nakashima for reporting

-       Bourne Shell: A unit test for the above bug has been added.

-       Bourne Shell: Some unit tests from "mksh" (that previously have been
        disabled) have been enabled, since the two changes above now make
        the Bourne Shell behave like "mksh" for these 6 additional tests.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 pkgsrc/shells/bosh/Makefile
cvs rdiff -u -r1.8 -r1.9 pkgsrc/shells/bosh/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/shells/bosh/Makefile
diff -u pkgsrc/shells/bosh/Makefile:1.10 pkgsrc/shells/bosh/Makefile:1.11
--- pkgsrc/shells/bosh/Makefile:1.10    Sat Apr 18 15:54:40 2020
+++ pkgsrc/shells/bosh/Makefile Mon May 11 16:52:07 2020
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.10 2020/04/18 15:54:40 kre Exp $
+# $NetBSD: Makefile,v 1.11 2020/05/11 16:52:07 micha Exp $
 
-DISTNAME=      schily-2020-04-18
-PKGNAME=       bosh-20200418
+DISTNAME=      schily-2020-05-11
+PKGNAME=       bosh-20200511
 CATEGORIES=    shells
 MASTER_SITES=  ${MASTER_SITE_SOURCEFORGE:=schilytools/}
 EXTRACT_SUFX=  .tar.bz2
@@ -13,7 +13,9 @@ LICENSE=      cddl-1.0
 
 MAKE_JOBS_SAFE=        no
 
-USE_TOOLS+=    tbl
+# tbl(1) of NetBSD 9 can't process the man page, but man(1) can.
+# Install man page with unprocessed tables as workaround (may break other OS)
+#USE_TOOLS+=   tbl
 TOOL_DEPENDS+= smake-[0-9]*:../../devel/smake
 SMAKE=         MAKEFLAGS= smake
 MAKE_FLAGS+=   DESTDIR=${DESTDIR} INS_BASE=${PREFIX} DEFMANBASE=. MANDIR=${PKGMANDIR}
@@ -23,6 +25,14 @@ MAKE_FLAGS+= CPPOPTX=${CPPFLAGS:Q} COPTX
 PKG_SHELL=             bin/bosh
 INSTALLATION_DIRS=     bin ${PKGMANDIR}/man1
 
+# Only required for testsuite
+SUBST_CLASSES+=                        fix-paths
+SUBST_STAGE.fix-paths=         pre-test
+SUBST_MESSAGE.fix-paths=       Fixing absolute paths for true and false.
+SUBST_FILES.fix-paths=         sh/tests/shelltests/trap/trap.sh
+SUBST_SED.fix-paths=           -e 's,/bin/true,/usr/bin/true,g'
+SUBST_SED.fix-paths+=          -e 's,/bin/false,/usr/bin/false,g'
+
 .include "../../mk/bsd.prefs.mk"
 
 # Shared platform specific code for schilytools (provided by smake package)
@@ -41,8 +51,9 @@ do-build:
 
 # Process tables in manpage
 post-build:
-       cd ${WRKSRC} && ${TBL} sh/sh.1 >sh/sh.1.tmp;                    \
-               ${MV} -f sh/sh.1.tmp sh/bosh.1
+       cd ${WRKSRC} && ${MV} -f sh/sh.1 sh/bosh.1
+#      cd ${WRKSRC} && ${TBL} sh/sh.1 >sh/bosh.1.tmp;                  \
+#              ${MV} -f sh/bosh.1.tmp sh/bosh.1
 
 do-test:
        cd ${WRKSRC}/sh &&                                              \
@@ -52,7 +63,7 @@ do-install:
        cd ${WRKSRC}/sh &&                                              \
                ${INSTALL_PROGRAM} ${WRKSRC}/sh/OBJ/*/sh                \
                        ${DESTDIR}${PREFIX}/bin/bosh;                   \
-               ${INSTALL_MAN} ${WRKSRC}/sh/bosh.1                      \
+               ${INSTALL_MAN} ${WRKSRC}/sh/bosh.1                      \
                        ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
 
 .include "../../mk/bsd.pkg.mk"

Index: pkgsrc/shells/bosh/distinfo
diff -u pkgsrc/shells/bosh/distinfo:1.8 pkgsrc/shells/bosh/distinfo:1.9
--- pkgsrc/shells/bosh/distinfo:1.8     Sat Apr 18 15:54:40 2020
+++ pkgsrc/shells/bosh/distinfo Mon May 11 16:52:07 2020
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.8 2020/04/18 15:54:40 kre Exp $
+$NetBSD: distinfo,v 1.9 2020/05/11 16:52:07 micha Exp $
 
-SHA1 (schily-2020-04-18.tar.bz2) = e03a271be57ff865cbf0a7a4c92f415b5e798072
-RMD160 (schily-2020-04-18.tar.bz2) = a4f57485c9616ab4d59c9577b3ab9b0e9576b55e
-SHA512 (schily-2020-04-18.tar.bz2) = 3b86155d3166f5fba93d1a4ea9a8649677212979ce70fdeaa048d954fc30b72f8c87fbb95f022718df27049c51ea277eacac0a179da7c6652fff4038b0fe9f39
-Size (schily-2020-04-18.tar.bz2) = 4457840 bytes
+SHA1 (schily-2020-05-11.tar.bz2) = 1992e23344880fb58443c5b89b24fded4039f7a7
+RMD160 (schily-2020-05-11.tar.bz2) = bdf3ac0349f00095d7e17f1b14a07f6dcb94a0e2
+SHA512 (schily-2020-05-11.tar.bz2) = a12f0a3caa14c35af150afb4354fbe7c5b1d6ad301d24efbed6f0ec7c38919fe2bf863a117d46107178d11f60b9dd93f72f173c722e2e129d86d348b01fc56ee
+Size (schily-2020-05-11.tar.bz2) = 4783976 bytes



Home | Main Index | Thread Index | Old Index