Update to R44. The manpage is incompatible with mdocml, so switch to the

separately distributed catman page.

   R44 contains these bugfixes:
     * [tg] "$@" always generates words; bug spotted by engla in IRC
     * [tg] Optimise print_columns display to use the screen space better

   Please upgrade to mksh R43 (or stick on R41c) because of#
     * [tg]  Do not permit $'#' and $"#" in anything that looks like a
       string,  as  old  scripts, like ncurses', depend on behaviour not
       guaranteed by POSIX regarding unescaped dollar signs there
     * [dalias] Make detection of function prototypes more reliable
     * [tg] Quote setenv arguments for eval properly in dot.mkshrc
     * [tg] Validate parameter names for typeset, export, etc.
     * [tg] Provide a classic BSD echo builtin for /bin/sh on MidnightBSD
     * [tg]  When  generating  Makefrag.inc  put  list of check_categories
       inside
     * [tg]  Actually  test  all  [197]echo(1)  flavours  and  MidnightBSD
       /bin/sh hacks

   mksh R42b and R41c fix regressions:
     * [tg] Correctly initialise memory (Debian #700604)
     * [tg] LP#1104543 fix was too strict (Debian #700526)

   mksh R42 brings back the release\ {early,often} scheme:
     * [tg] Make -DMKSH_DISABLE_EXPERIMENTAL a nop again
     * [tg]   Quell   some   LLVM+Clang   warnings;   overhaul  scan-build
       [198]assert(3)s
     * [tg, RT] Bunch of portability and build system fixes
     * [tg]  Re-enable  ${ precmd;} in dot.mkshrc and fix it to retain the
       errorlevel
     * [RT]  Port  to  Minix-vmd,  QNX 4, Watcom C; begin porting to SunOS
       4.1.1, Xenix, ISC (Interactive) Unix
     * [tg] Prefer const-clean sys_errlist[] to [199]strerror(3)
     * [tg] Permit $"#" and $'#' everywhere except in the body of here
       documents that are not here strings
     * [tg]  Use full recursive parser for double-quoted here strings, and
       reuse code between here strings and here documents
     * [tg]   #ifdef   DEBUG_LEAKS   free  all  fds  and  memory  on  exit
       (LP#1106116)
     * [tg]  Don't  close stdout/stderr with redirections, dup /dev/null
       instead,  always,  both  in  dot.mkshrc  and the testsuite, it does
       break!
     * [tg]  Handle ${ #;} like functions in that local and return DWIW;
       use  it for the big chunk in $PS1 to avoid [200]fork(2)ing (at cost
       of tempfiles; dot.mkshrc is a sample, adjust to your needs)
     * [tg] Document invalid ${a/b/c} patterns in manpage (Debian #698678)

   mksh R41b is a bugfix-only release off a stable branch:
     * [tg] Fix [201]gettimeofday(2) detection at build time (warning)
     * [RT, tg] Build.sh: catch non-working dash printf builtin
     * [chris2,   dalias,   tg]   Remove  musl  libc  workaround  and  use
       _GNU_SOURCE  which  they  kindly  aliased  to _ALL_SOURCE, which is
       implemented now
     * [tg] Fix getn and some cases of possible array bounds trespasses
     * [chris2, dalias, tg] Use -fno-asynchronous-unwind-tables with GCC
     * [tg]    Fix   a   few   warnings   from   libFirm/cparser   (mostly
       -Wsign-compare)
     * [tg]   Correct   mistake  when  doing  hashtable  lookup  collision
       resolution
     * [tg]  Fix  running the ERR and EXIT traps in situations with set -e
       and/or eval (also closes Debian #696823)
     * [tg] Fix "command shift", reported by «ormaaj:#!/bin/mksh»
     * [Torsten Sillke] Unbreak linking on AIX (remove -qextchk)
     * [tg]  Fix  regression  wrt  lists  in  functions  and  "set -e"
       (LP#1104543)

   mksh R41 brings a number of bugfixes and new features:
     * [tg] Drop "set ±o arc4random" (deprecated in R40)
     * [tg] Drop old Build.sh -long-options (deprecated in R40)
     * [tg]  Change  the  internal  hash  algorithm  from  Bob  Jenkins'
       one-at-a-time     to     its     NUL-counting,     always-changing,
       better-avalanching  MirOS  variant  [202]NZAAT  (with feedback from
       ciruZ; 75% fill level is reasonable; names tbd in Mirkev/MirJSON)
     * [tg] Use $'#' for non-ASCII parameters for re-entry printing
     * [tg] Use sane spelling of "read-only" consistently
     * [tg] Improve tree -DDEBUG functions (internal/developer use)
     * [tg] Reduce stack usage a bit; speed up hash tables at size cost
     * [tg] MKSH_SMALL no longer implies -fno-inline
     * [tg] Support optional seed in ${parameter@#seed} for security
     * [tg] New Build.sh environment configurable: LDSTATIC (empty)
     * [tg]  Improve LTO effect by always adding our copies of distributed
       utility  function sources when linking statically (i.e. LDSTATIC is
       not empty)
     * [tg]  Drop  deprecated hack for lines beginning with an exclamation
       mark
     * [tg] No longer interpret numbers beginning with a 0 digit as octal
     * [tg] Attempt to use -fwrapv on more compilers
     * [tg, RT] Better portability to 386BSD, Debian 0.91, ancient Unic#s
     * [tg] No longer use [203]mkstemp(3) or [204]tempnam(3) functions, do
       our own
     * [tg] Fix some bugs in the manual page and Build.sh
     * [tg] Add MKSH_NO_CMDLINE_EDITING, MKSH_DISABLE_TTY_WARNING
     * [RT] Port to Coherent UNIX
     * [tg]  Enable  some options by default for some ports, for instance,
       since  BeOS  can never have a controlling tty, the option disabling
       that warning
     * [tg] Some bugfixes, prompted by RT and Valgrind
     * [RT] Disable [205]sigsuspend(2) on Syllable Desktop
     * [tg] Fix several issues with typeset -p (LP: #993847)
     * [RT] Detect lcc and apply inline fix, e.g. for use with libc5
     * [tg] If klibc, set -DMKSH_NO_LIMITS and check for sigsuspend fix
     * [tg] Fix some issues found by Coverity and some found while fixing
     * [tg]  Build.sh options: -t target-filename (instead of mksh); -L to
       build a legacy mksh, current changes:
          + different $KSH_VERSION "LEGACY KSH" instead of "MIRBSD KSH"
          + purely  for  running  ksh88 and pdksh scripts; no command line
            editing
          + use traditional "set -- $(getopt #); echo $?" mode always
          + do not keep file descriptors private
          + parse leading-zero-digit numbers as octal
          + no mksh extension -T
          + use "long", not "int32_t", for arithmetics
     * [tg] fix trimming with positional parameters (Debian #48453)
     * [tg] ensure that case end tokens are not mixed up (Debian #220272)
     * [tg] make alias definitions in mksh -c work (Debian #517009), hack
     * [tg] Apply speed improvements and add MKSH_SMALL_BUT_FAST
     * [tg] Fix CONSERVATIVE_FDS use-before-definition bug
     * [tg] Correct two regressions when tab-completing (LP: #1025843) and
       fix  bugs  in  the  same  code  wrt.  completion  display and other
       expansions
     * [tg] Make quoted output of "typeset -p" AT&T ksh93 compatible
     * [tg] Implement ${foo@Q} like ${foo:Q} in [206]make(1)
     * [tg] Remove some unused code; more int # bool conversion
     * [tg] Fix using here documents in COMSUB etc. (LP: #1030581)
     * [tg] Fix ulimit builtin usage to match what limits we actually know
     * [tg] Allow overriding /etc location, experts only (LP: #1039713)
     * [tg] Update to Unicode 6.1.0
     * [tg, Todd Miller] Avoid changing [207]ps(1) output by accident
     * [tg,  ft,  Christian  Neukirchen]  Detect  zsh  2.5.02/NeXTstep for
       Build.sh
     * [tg]  Detect  musl-gcc  wrapper, define _BSD_SOURCE there, which is
       totally bogus, but musl, just like dietlibc, gets it wrong
     * [tg] Improve compile-time assertions
     * [tg] Repair select builtin without any choices given
     * [tg] Add -DMKSH_GCC55009 hack to avoid some compile-time assertions
       and  introduce arith-mandatory in check.t to substitute for missing
       that compile-time check; will change
     * [tg] Rewrite lots of code to not rely on -fwrapv so much
     * [tg] Build.sh: Fix [208]flock(2) detection on GNU/Linux
     * [Andrew Kudryashov] Manpage: fix default for HISTSIZE
     * [tg] Add debugging aid (split-screen mechanism using GNU screen)
     * [Andrew  Kudryashov]  Manpage,  Website:  point out correct mailing
       list
     * [tg, Andrew Kudryashov] Fix ~/nonexistant tab completion
     * [tg] Optimise sh -c "[^]\t\n"-$&-*;-?[\\`|]*" to exec, inspired by
       Jilles Tjoelker (-DMKSH_DISABLE_EXPERIMENTAL to ostracise)
     * [tg] Fix $? inside eval (RedHat BZ#865121)
     * [tg]  Implement  ksh93 feature ${ foo;} (using tempfiles this time;
       exclude with -DMKSH_DISABLE_EXPERIMENTAL in R41)
     * [tg] Run SIGINT check more reliably in the cat builtin (LP#1058815)
     * [tg] Handle ^C in here documents, COMSUB, arithmetics (LP#1069428)
     * [tg] Make dot.mkshrc usable with "set -o nounset" / "set -u"
     * [tg, Clint Adams] Clean up and optimise the error handling code
     * [tg] Fix and add some checks in the testsuite
     * [tg] Sort list of variables in the source code when possible
     * [tg] Add $BASHPID (for ormaaj) and $EPOCHREALTIME
     * [tg] Improve documentation, #ksh IRC channel homepage
     * [tg, RT] Minix 2 also doesn't have [209]gettimeofday(2) # check for
       it
     * [tg] Fix an input command line editing display redrawing issue
     * [tg]  Track  the tty to keep $COLUMNS and $LINES up-to-date after a
       SIGWINCH even in scripts
This commit is contained in:
bsiegert 2013-03-11 19:47:38 +00:00
parent 2c32d8101f
commit 4c8be7300f
3 changed files with 18 additions and 10 deletions

View file

@ -1,11 +1,14 @@
# $NetBSD: Makefile,v 1.20 2012/09/11 23:25:08 asau Exp $
# $NetBSD: Makefile,v 1.21 2013/03/11 19:47:38 bsiegert Exp $
DISTNAME= mksh-R40f
DISTNAME= mksh-R44
PKGNAME= ${DISTNAME:S/-R/-/}
CATEGORIES= shells
MASTER_SITES= http://www.mirbsd.org/MirOS/dist/mir/mksh/ \
http://pub.allbsd.org/MirOS/dist/mir/mksh/
EXTRACT_SUFX= .cpio.gz
SITES.${DISTNAME}.cat1.gz= ${MASTER_SITES:S/dist/cats/}
EXTRACT_SUFX= .tgz
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} ${DISTNAME}.cat1.gz
MAINTAINER= ahoka@NetBSD.org
HOMEPAGE= http://mirbsd.de/mksh
@ -27,10 +30,12 @@ do-build:
cd ${WRKBUILD} && LIBS=${LIBS:Q} CC=${CC:Q} CFLAGS=${CFLAGS:Q} \
CPPFLAGS=${CPPFLAGS:Q} LDFLAGS=${LDFLAGS:Q} \
${TOOLS_SHELL} ${WRKSRC}/Build.sh -r
${GZCAT} ${DISTDIR}/${DISTNAME}.cat1.gz > ${WRKSRC}/mksh.0
do-install:
${INSTALL_PROGRAM} ${WRKBUILD}/mksh ${DESTDIR}${PREFIX}/bin/mksh
${INSTALL_MAN} ${WRKSRC}/mksh.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/
${INSTALL_MAN_DIR} ${DESTDIR}${PREFIX}/${PKGMANDIR}/cat1/
${INSTALL_MAN} ${WRKSRC}/mksh.0 ${DESTDIR}${PREFIX}/${PKGMANDIR}/cat1/
${INSTALL_DATA} ${WRKSRC}/dot.mkshrc ${DESTDIR}${PREFIX}/share/examples/mksh/
# Uncomment this if you want to run the regression tests

View file

@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.2 2009/06/14 18:14:21 joerg Exp $
@comment $NetBSD: PLIST,v 1.3 2013/03/11 19:47:38 bsiegert Exp $
bin/mksh
man/man1/mksh.1
man/cat1/mksh.0
share/examples/mksh/dot.mkshrc

View file

@ -1,5 +1,8 @@
$NetBSD: distinfo,v 1.18 2012/05/13 18:46:35 bsiegert Exp $
$NetBSD: distinfo,v 1.19 2013/03/11 19:47:38 bsiegert Exp $
SHA1 (mksh-R40f.cpio.gz) = 3e8c1882639f9f106587748d18e336876753549f
RMD160 (mksh-R40f.cpio.gz) = 774fabd492f3c8a998cf242710b662f808a403bc
Size (mksh-R40f.cpio.gz) = 331196 bytes
SHA1 (mksh-R44.cat1.gz) = 9f086affda624c53beedfd45523b40ced3b87c2e
RMD160 (mksh-R44.cat1.gz) = 2644edb96a5def67e9c2b07b1d2a20d29c85c0ac
Size (mksh-R44.cat1.gz) = 52261 bytes
SHA1 (mksh-R44.tgz) = 2e575f8de79305e42fc1c7fdda2c8051482a4758
RMD160 (mksh-R44.tgz) = 4cf1525c477c4bece519c024cc73ee6ca064d34a
Size (mksh-R44.tgz) = 346239 bytes