pkgsrc-Changes archive

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

CVS commit: pkgsrc/shells/ksh93



Module Name:    pkgsrc
Committed By:   vins
Date:           Mon Sep 18 14:11:42 UTC 2023

Modified Files:
        pkgsrc/shells/ksh93: DESCR Makefile PLIST distinfo
Added Files:
        pkgsrc/shells/ksh93/patches: patch-src_cmd_INIT_package.sh

Log Message:
shells/ksh93: update to 1.0.7

Here is the seventh ksh 93u+m/1.0 bugfix release. It fixes a hang in
command substitutions when combined with 'exec' and certain
redirections.

# pkgsrc changes

* Use USE_CC_FEATURES instead of CFLAGS.
* Use MAKE_ENV instead of appending flags to the build script command
  line.
* Use package's own install script (patched) instead of a dedicated target.
* Install shcomp(1) + corresponding man page.
* Install ksh autoload companion functions.
* Use TEST_TARGET instead of a dedicated make target.
* Simplify DESCR.

# upstream changes (since ksh93u+m/1.0.6):

* Fixed a hang in command substitutions (introduced in 93u+m/1.0.0) that
  was triggered when redirecting standard output within a command
  substitution, in combination with other factors. E.g., the following no
  longer hangs:
  { v=$(redirect 2>&1 1>&9); } 9>&1

* Fixed a crash on trying to append an indexed array value to an unset
  name reference, e.g.: nameref unsetref; unsetref+=(foo bar). This now
  produces a "removing nameref attribute" warning before performing the
  assignment.

* Fixed: assignments like name=(...) to arrays did not preserve the array
  and variable types; similarly, assigning an empty set () to a compound
  indexed array caused the -C attribute to be lost.

* Fixed incorrect rejection of the tab key while reading input using the
  read built-in command.

* Fixed a bug in printf %T: when using dates and times in the past, time
  zones for the present were incorrectly used, ignoring historical
  changes.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 pkgsrc/shells/ksh93/DESCR pkgsrc/shells/ksh93/PLIST
cvs rdiff -u -r1.8 -r1.9 pkgsrc/shells/ksh93/Makefile
cvs rdiff -u -r1.7 -r1.8 pkgsrc/shells/ksh93/distinfo
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/shells/ksh93/patches/patch-src_cmd_INIT_package.sh

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

Modified files:

Index: pkgsrc/shells/ksh93/DESCR
diff -u pkgsrc/shells/ksh93/DESCR:1.1 pkgsrc/shells/ksh93/DESCR:1.2
--- pkgsrc/shells/ksh93/DESCR:1.1       Sun Jul  3 20:57:38 2022
+++ pkgsrc/shells/ksh93/DESCR   Mon Sep 18 14:11:41 2023
@@ -1,12 +1,4 @@
-Between 2017 and 2020 there was an ultimately unsuccessful attempt to breathe
-new life into the KornShell by extensively refactoring the last unstable AST
-beta version (93v-). While that ksh2020 effort is now abandoned and still has
-many critical bugs, it also had a lot of bugs fixed. More importantly, the AST
-issue tracker now contains a lot of documentation on how to fix those bugs,
-which made it possible to backport many of them to the last stable release
-instead. This ksh 93u+m reboot now incorporates many of these bugfixes, plus
-patches from OpenSUSE, Red Hat, and Solaris, as well as many new fixes from the
-community (1, 2). Though there are many bugs left to fix, we are confident at
-this point that 93u+m is already the least buggy version of ksh93 ever
-released. As of late 2021, distributions such as Debian and Slackware have
-begun to package it as their default version of ksh93.
+The ksh 93u+m reboot incorporates many of the bugfixes found in the last
+unstable AST beta version (93v-), backported to the most recent official
+release (93u+), plus patches from OpenSUSE, Red Hat, and Solaris, as
+well as many new fixes from the community.
Index: pkgsrc/shells/ksh93/PLIST
diff -u pkgsrc/shells/ksh93/PLIST:1.1 pkgsrc/shells/ksh93/PLIST:1.2
--- pkgsrc/shells/ksh93/PLIST:1.1       Sun Jul  3 20:57:38 2022
+++ pkgsrc/shells/ksh93/PLIST   Mon Sep 18 14:11:41 2023
@@ -1,3 +1,12 @@
-@comment $NetBSD: PLIST,v 1.1 2022/07/03 20:57:38 pin Exp $
+@comment $NetBSD: PLIST,v 1.2 2023/09/18 14:11:41 vins Exp $
 bin/ksh93
+bin/shcomp
+libexec/ksh93/autocd
+libexec/ksh93/cd
+libexec/ksh93/dirs
+libexec/ksh93/man
+libexec/ksh93/mcd
+libexec/ksh93/popd
+libexec/ksh93/pushd
 man/man1/ksh93.1
+man/man1/shcomp.1

Index: pkgsrc/shells/ksh93/Makefile
diff -u pkgsrc/shells/ksh93/Makefile:1.8 pkgsrc/shells/ksh93/Makefile:1.9
--- pkgsrc/shells/ksh93/Makefile:1.8    Mon Jul  3 10:44:08 2023
+++ pkgsrc/shells/ksh93/Makefile        Mon Sep 18 14:11:41 2023
@@ -1,46 +1,37 @@
-# $NetBSD: Makefile,v 1.8 2023/07/03 10:44:08 vins Exp $
+# $NetBSD: Makefile,v 1.9 2023/09/18 14:11:41 vins Exp $
 
-DISTNAME=      ksh93-1.0.6
+DISTNAME=      ksh93-1.0.7
 CATEGORIES=    shells
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=ksh93/}
 GITHUB_PROJECT=        ksh
 GITHUB_TAG=    v${PKGVERSION:S/beta/-beta/}
 
 MAINTAINER=    vins%NetBSD.org@localhost
-HOMEPAGE=      https://github.com/ksh93/ksh/
+HOMEPAGE=      http://www.kornshell.com/
 COMMENT=       Actively developed fork of AT&T KornShell 93u+
 LICENSE=       epl-v1.0
 
 CONFLICTS+=            ast-ksh-[0-9]* static-ast-ksh-[0-9]*
 
-FORTIFY_SUPPORTED=     no
-
-KSH=   ${TOOLS_PATH.ksh:Q}
+USE_TOOLS+=            ksh
+USE_CC_FEATURES=       c11
 
-MAKEFLAGS+=            CC=${CC:Q} SHELL=${KSH}
-MAKEFLAGS+=            CCFLAGS=${CFLAGS:M*:Q}
+CFLAGS.SunOS+= -D__EXTENSIONS__
 
-CFLAGS.SunOS+= -std=c11 -D__EXTENSIONS__
+FORTIFY_SUPPORTED=     no
 
-PKG_SHELL=             bin/ksh93
+MAKE_ENV+=             SHELL=${KSH}
+MAKE_ENV+=             CCFLAGS=${CFLAGS:M*:Q}
 
-INSTALLATION_DIRS=     bin ${PKGMANDIR}/man1
+TEST_TARGET=   test
+PKG_SHELL=     bin/ksh93
 
 do-build:
-       cd ${WRKSRC} && ${SETENV} ${MAKE_ENV}                           \
+       cd ${WRKSRC} && ${SETENV} ${MAKE_ENV}           \
                ${KSH} ./bin/package make ${MAKEFLAGS}
 
 do-install:
-       set -e;                                                         \
-       arch=`${WRKSRC}/bin/package host`;                              \
-       ${INSTALL_PROGRAM} ${WRKSRC}/arch/"$${arch}"/bin/ksh            \
-               ${DESTDIR}${PREFIX}/bin/ksh93
-
-       ${INSTALL_MAN} ${WRKSRC}/src/cmd/ksh93/sh.1                     \
-               ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/ksh93.1
-
-do-test:
-       cd ${WRKSRC} && ${SETENV} SHELL=${KSH}                          \
-               ${KSH} ./bin/package test
+       cd ${WRKSRC} && ${SETENV} ${INSTALL_ENV}        \
+               ${KSH} ./bin/package install ${DESTDIR}${PREFIX}
 
 .include "../../mk/bsd.pkg.mk"

Index: pkgsrc/shells/ksh93/distinfo
diff -u pkgsrc/shells/ksh93/distinfo:1.7 pkgsrc/shells/ksh93/distinfo:1.8
--- pkgsrc/shells/ksh93/distinfo:1.7    Mon Jul  3 10:44:08 2023
+++ pkgsrc/shells/ksh93/distinfo        Mon Sep 18 14:11:41 2023
@@ -1,6 +1,7 @@
-$NetBSD: distinfo,v 1.7 2023/07/03 10:44:08 vins Exp $
+$NetBSD: distinfo,v 1.8 2023/09/18 14:11:41 vins Exp $
 
-BLAKE2s (ksh93-1.0.6.tar.gz) = ee298397292ff5d5074867e4fbcd71cd3f06422bbda90e53f739c0514819e44e
-SHA512 (ksh93-1.0.6.tar.gz) = df21b44981701a8e309776bae20df85d5e805bbd4e565259298ebbae1f3ef2c2e9a6e7bd485a8c9ed8a8e41818cedd75a722898f26b8430d830cc199df120dab
-Size (ksh93-1.0.6.tar.gz) = 2111386 bytes
+BLAKE2s (ksh93-1.0.7.tar.gz) = 86fd4e1037aeac6b20209ae9200b54d2282507fc2b20e4af224712790d9aae41
+SHA512 (ksh93-1.0.7.tar.gz) = 0ffaf7734d0efe8306def343acdd523be9f2bbff48933a8e0e987af1e8b1238283feee8df3d31a9184138110ed49aaa07c44e9acf4e0ca371e11b422ed885a7b
+Size (ksh93-1.0.7.tar.gz) = 2113583 bytes
+SHA1 (patch-src_cmd_INIT_package.sh) = bdc8fc6d3e50259576842df781cfe81f42acc1e8
 SHA1 (patch-src_lib_libast_features_syscall) = 3da58a2876db9171378574fcf772978db2cd57e0

Added files:

Index: pkgsrc/shells/ksh93/patches/patch-src_cmd_INIT_package.sh
diff -u /dev/null pkgsrc/shells/ksh93/patches/patch-src_cmd_INIT_package.sh:1.1
--- /dev/null   Mon Sep 18 14:11:42 2023
+++ pkgsrc/shells/ksh93/patches/patch-src_cmd_INIT_package.sh   Mon Sep 18 14:11:41 2023
@@ -0,0 +1,29 @@
+$NetBSD: patch-src_cmd_INIT_package.sh,v 1.1 2023/09/18 14:11:41 vins Exp $
+
+install target fixes.
+
+--- src/cmd/INIT/package.sh.orig       2023-09-15 02:28:23.000000000 +0000
++++ src/cmd/INIT/package.sh
+@@ -2548,8 +2548,8 @@ do_install() # dir [ command ... ]
+       done
+       # set install directories
+       bindir=$dd/bin
+-      man1dir=${dd:-/usr}/share/man/man1
+-      fundir=${dd:-/usr}/share/fun
++      man1dir=${dd:-/usr}/man/man1
++      fundir=${dd:-/usr}/libexec/ksh93
+       # and off we go
+       trace mkdir -p "$bindir" "$man1dir" || exit
+       for f
+@@ -2557,9 +2557,10 @@ do_install() # dir [ command ... ]
+               trace cp "bin/$f" "$bindir/" || exit
+               # install manual and autoloadable functions
+               case $f in
+-              ksh)    trace cp "$PACKAGEROOT/src/cmd/ksh93/sh.1" "$man1dir/ksh.1" || exit
++              ksh)    trace cp "$PACKAGEROOT/src/cmd/ksh93/sh.1" "$man1dir/ksh93.1" || exit
+                       trace mkdir -p "$fundir" || exit
+                       (set +o noglob; trace cp "$PACKAGEROOT"/src/cmd/ksh93/fun/* "$fundir/") || exit
++                      trace mv "$bindir/ksh" "$bindir/ksh93" || exit
+                       ;;
+               *)      # AT&T --man, etc. is a glorified error message: writes to stderr and exits with status 2 :-/
+                       # So we cannot reliably check for success; must check the result, too.



Home | Main Index | Thread Index | Old Index