Hello community,

here is the log from the commit of package mksh for openSUSE:Factory checked in 
at 2017-03-04 16:37:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mksh (Old)
 and      /work/SRC/openSUSE:Factory/.mksh.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mksh"

Sat Mar  4 16:37:06 2017 rev:13 rq:460024 version:54

Changes:
--------
--- /work/SRC/openSUSE:Factory/mksh/mksh.changes        2015-04-22 
01:19:00.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.mksh.new/mksh.changes   2017-03-04 
16:48:50.109063115 +0100
@@ -1,0 +2,183 @@
+Thu Feb 23 10:42:43 UTC 2017 - wer...@suse.de
+
+- Avoid deprecated API for errors and signals
+- Be sure to use a clean history file 
+
+-------------------------------------------------------------------
+Tue Feb 21 17:02:03 UTC 2017 - wer...@suse.de
+
+- Make errors ini test suite fatal
+- Avoid -flto as this breaks even with gcc 6.3.1 20170202 
+
+-------------------------------------------------------------------
+Tue Feb 14 16:37:07 UTC 2017 - wer...@suse.de
+
+- Use screen to provide a tty for test suite scripts 
+
+-------------------------------------------------------------------
+Tue Feb 14 16:19:19 UTC 2017 - wer...@suse.de
+
+- Update to version R54
+  R54 is a bugfix release with moderate new features:
+    [tg] Simplify and improve code and manual page
+    [tg] Try GCC 5’s new -malign-data=abi
+    [tg] Allow interrupting builtin cat even on fast devices (LP#1616692)
+    [tg] Update to Unicode 9.0.0
+    [Andreas Buschka] Correct English spelling
+    [tg] Handle set -e-related error propagation in || and && constructs 
correctly
+    [tg] Initialise memory for RNG even when not targeting Valgrind
+    [tg] Shrink binary size
+    [Brian Callahan] Improve support for the contemporary pcc compiler
+    [tg] Fix side effects with lazy evaluation; spotted by ormaaj
+    [tg] New flags -c (columnise), -l, -N for the print builtin
+    [Larry Hynes] Fix English, spelling mistakes, typos in the manpage
+    [tg, ormaah] Return 128+SIGALRM if read -t times out, like GNU bash
+    [Martijn Dekker] Install both manpages from Build.sh
+    [Martijn Dekker] Document case changes are ASCII-only
+    [Ronald G. Minnich, Elbing Miss, Álvaro Jurado, tg] Begin porting to 
Harvey-OS and APEX (similar to Plan 9 and APE)
+    [KO Myung-Hun] More infrastructure for the OS/2 (EMX, KLIBC) port
+ R53a is a snapshot/feature release:
+    [lintian] Fix spelling
+    [tg] Unbreak multi-line command history broken by history flush
+    [tg] Fix redefining POSIX functions that were Korn functions before
+    [tg, TNF] Fix bounds checks in Vi editing mode
+    [tg] Handle combining characters at end of string or output correctly
+    [tg] Fix ${!#} ${!?} ${!-} (POSIX, prompted by izabera)
+    [tg] Fix shf.c-internal buffer overread on printing digits
+    [J�rg] Fix a typo in the testsuite
+    [arekm] Increase default edit line size (unless MKSH_SMALL)
+    [tg] Improve description of Emacs mode keybindings, especially ^U
+    [tg, arekm, jilles] Abort read builtin in case of read(2) errors
+    [tg, izabera, carstenh] Fix most of the ambiguous corner cases related to 
${[pfx]var[op[word]]} (${@:-1} still unsupported)
+    [carstenh] Contribute some more testsuite coverage
+    [tg] WDS_TPUTS now emits QCHAR newline reentrant-safe
+    [tg] Fix var=<< implementation (LP#1380389)
+    [tg, FreeBSD] Make XSI test(1) extensions behave as if they were POSIX
+    [tg, izabera] Add $(<<<x) and $(<<EOF…) implementation
+    [tg] Lower minimum screen size accepted as “sane” from the OS to 4×2
+    [tg, Torsten Sillke] Simplify tilde-expanded parameters
+    [tg, Torsten Sillke] Fix default PS1 for substring matches
+    [tg] Apply defer-builtin-with-arguments logic to realpath builtin
+    [tg] Rework string pooling (own vs. compiler’s) (LP#1580348)
+    [tg] Feature: print -A, prints arguments as characters
+    [tg, izabera] Replace <<< and >>> as ROL and ROR operators with their new 
^< and ^> spelling as per this proposal
+    [tg, slagtc] Clear-to-EOL under tmux to work around its anti-feature
+    [tg, p120ph37] Remove support for using file descriptors with more than a 
single digit, in preparation for named file descriptors
+    [tg] Correct, but simplify (at the potential cost of more tty I/O than 
strictly necessary, though never redundant and (probably) not more than before 
when it was miscalculated), line clearing and redrawing
+    [slagtc, tg] Implement new evaluate-region editing command Esc+Ctrl-E
+    [tg] Prefer external rename utility over the recovery builtin
+    [tg] Remove redundant full-line redraws
+    [tg, Natureshadow] Fix errorlevel of ‘.’ (“dot” special builtin) when the 
sourced script does not run any commands, for POSIX compliance
+    [tg] Refactor op tokens and edchars to shave off some more bytes
+    [tg] Fix some bugs in the manpage and some occasional/minor code bugs
+    [tg, Brian Callahan] Mark tests requiring new perl as !need-pass
+    [tg, slagtc] Add $KSH_MATCH and, to make it usable, ${foo@/bar/baz}
+    [tg, Score_Under] Fix bogus patch from OpenBSD: only NULL the global 
source in unwind when actually reclaiming its Area
+    [izabera] Mention in the manpage that integer bases go up to 36
+    [Natureshadow] Fix /= operator broken during refactoring
+ R52c is a bugfix-only release:
+    [tg] Shave 200 bytes off .text by revisiting string pooling
+    [tg, J�rg] Fix manpage for ditroff on Schillix
+    [tg, wbx] Use sed 1q instead of unportable head(1)
+    [tg] Implement underrun debugging tool for area-based memory allocator
+    [tg] Fix history underrun when first interactive command is entered
+    [tg, bef0rd] Do not misinterpret “${0/}” as “${0//”, fixes segfault
+    [tg, Stéphane Chazelas] Fix display problems with special parameters
+    [tg, Stéphane Chazelas] Catch attempt to trim $* and $@ with ?, fixes 
segfault (Todd Miller did this in 2004 for ${x[*]} already, so just sync)
+    [Martijn Dekker] Fix “command -p” with -Vv to behave as POSIX requires
+    [tg, jilles, Oleg Bulatov] Fix recusive parser with active heredocs
+    [tg] Flush even syntax-failing or interrupted commands to history
+    [tg, fmunozs] Fix invalid memory access for “'\0'” in arithmetics
+    [tg] Explicitly reserve SIGEXIT and SIGERR for ksh
+    [tg, izabera] Catch missing here documents at EOF even under “set -n”
+    [kre, tg] Document Austin#1015 handling (not considered a violation)
+    [tg, fmunozs] Fix buffer overread for empty nameref targets
+    [tg] Fix warnings pointed out by latest Debian gcc-snapshot
+    [tg, Martijn Dekker] Document upcoming set +o changes
+    [Martijn Dekker] Expand testsuite for command/whence
+ R52b is a strongly recommended bugfix-only release:
+    [tg] Recognise ksh93 compiled scripts and LZIP compressed files as binary 
(i.e. to not run as mksh plaintext script)
+    [tg] Document that we will implement locale tracking later
+    [tg] Add EEXIST to failback strerror(3)
+    [jilles] Make set -C; :>foo race-free
+    [tg] Don’t use unset in portable build script
+    [tg] Plug warning on GNU/kFreeBSD, GNU/Hurd
+    [tg] Document read -a resets the integer base
+    [J�rg] Fix manpage: time is not a builtin but a reserved word
+    [J�rg, tg] Make exit (and return) eat -1
+    [tg] parse “$( (( … ) … ) … )” correctly (LP#1532621), Jan Palus
+    [tg] reduce memory footprint by free(3)ing more aggressively
+    [tg] fix buffer overrun (LP#1533394), bugreport by izabera
+    [tg] correctly handle nested ADELIM parsing (LP#1453827), Teckids
+    [tg] permit “read -A/-a arr[idx]” as long as only one element is read; fix 
corruption of array indicēs with this construct (LP#1533396), izabera
+    [tg] Sanitise OS-provided signal number in even more places
+    [tg] As requested by J�rg, be clear manpage advice is for mksh
+    [tg] Revert (as it was a regression) POSIX bugfix from R52/2005 related to 
accent gravis-style command substitution until POSIX decides either way
+    [tg] Handle export et al. after command (Austin#351)
+    [tg] Catch EPIPE in built-in cat and return as SIGPIPE (LP#1532621)
+    [tg] Fix errno in print/echo builtin; optimise that and unbksl
+    [tg] Update documentation, point out POSIX violation (Austin#1015)
+ R52 is a strongly recommended bugfix release:
+    [_0bitcount] Move moving external link from mksh(1) to the #ksh channel 
homepage linked therein
+    [tg] Make setenv “set -u”-safe and fix when invoked with no args
+    [tg] Make “typeset -f” output reentrant if name is a reserved word
+    [oksh] Zero-pad seconds in “time” output to align columns
+    [tg] Check signals and errorlevels from OS to be within bounds
+    [komh, tg] Quote and document ‘;’ as PATH separator in some places
+    [oksh, tg] Simplify code to call afree() even if arg is NULL
+    [tg] Fix tree-printing and reentrancy of multiple here documents
+    [tg] Work around LP#1030581 by permitting exactly one space after
+    [tg, oksh] Code quality work, cleanups
+    [tg] New code for here documents/strings with several bugfixes
+    [tg] Stop using issetugid(2) for ±p checks, wrong tool for the job
+    [tg] Reintroduce some -o posix changes lost in 2005, plus fixes
+    [tg] Make “source” into a built-in command
+    [tg] Drop “stop” alias, lksh(1) functionality to auto-unalias
+    [tg] Fix \u0000 ignored in $'…' and print
+    [tg] Improve portability of Build.sh
+    [Jilles Tjoelker] Improve portability of testsuite
+    [tg] Fix tilde expansion for some substitutions (izabera, Chet, Geoff)
+    [tg] Improve reparsing of ((…) |…) as ( (…) |…)
+    [Martijn Dekker] Fix test(1) not returning evaluation errors
+    [tg] Fix ${*:+x} constructs (carstenh)
+    [tg] Make (( … )) into a compound command (ormaaj)
+    [tg] Repair a few parameter substitution expansion mistakes
+ R51 is a strongly recommended feature release:
+    [tg] OpenBSD sync: handle integer base out of band like ksh93 does
+    [tg] Protect standard code (predefined aliases, internal code, aliases and 
functions in dot.mkshrc) from being overridden by aliases and, in some cases, 
shell functions (i.e. permit overriding but ignore it)
+    [tg] Implement GNU bash’s enable for dot.mkshrc using magic aliases to 
redirect the builtins to external utilities; this differs from GNU bash in that 
enable takes precedence over functions
+    [tg] Move unaliasing an identifier when defining a POSIX-style function 
with the same name into lksh, as compatibility kludge
+    [tg] Korn shell style functions now have locally scoped shell options
+    [tg, iSKUNK] Change some ASCII-isms to be EBCDIC-aware or pluggable
+    [tg, Ypnose] Mention lksh build instructions on manpage and website
+    [tg] Overhaul signal handling; support new POSIX NSIG_MAX, add 
sysconf(_SC_NSIG) as a later TODO item
+    [tg] Fix signal bounds (1 ≤ signum < NSIG)
+    [tg] Improve manual pages, especially wrt. standards compliance
+    [tg, iSKUNK] Initial EBCDIC work for dot.mkshrc
+    [tg, iSKUNK] Add list of z/OS signals to Build.sh
+    [tg] Work around the sh(1) backslash-newline problem by moving the code 
triggering it out of *.opt and into the consumers
+    [colona] Bind another well-known ANSI Del key in the Emacs mode
+    [tg] Fix ${foo/*/x} pattern checks, spotted by izabera
+    [carstenh] Fix error output of cd function in dot.mkshrc
+    [tg] read partial returns in -N and timeout cases
+    [tg] Fix $LINENO inside PS1; spotted by carstenh
+    [tg] Ensure correct padding of at least 2 spaces in print_columns
+    [tg] Note issues with nested complex parameter expansions and follow-up 
bugfixes to expect
+    [OpenBSD] Some language fixes in documentation; comments
+    [tg] Reimplement multi-line command history (Debian #783978) + fixes
+    [Martijn Dekker] Fix command -v for “shell reserved words”
+    [tg] In dot.mkshrc make use of latest feature: local options
+    [tg] Fix ""$@ to emit a word
+    [tg] Change cat(1) hack to look first and not ignore builtin
+    [KO Myung-Hun] Begin porting mksh to OS/2
+    [komh, tg] Some generic minor bugfixes from OS/2 porting
+    [tg] Document mknod(8) isn’t normally part of mksh(1)
+    [tg] Quote arguments to : in build/test scripts as well
+    [tg] Add cat(1) hack for printf(1)-as-builtin: always prefer external
+    [tg] Explicitly use binary mode for any and all file I/O in stock mksh
+    [Ilya Zakharevich] Use termio, not termios(4), on OS/2
+    [tg] Set edchars to sane BSD defaults if any are NUL
+    [tg] Implement support for PC scancodes in Vi and Emacs editing mode
+    [komh] OS/2 uses ‘;’ as PATH separator plus support drive letters 
+
+-------------------------------------------------------------------

Old:
----
  mksh-R50f.tgz

New:
----
  mksh-R54.tgz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ mksh.spec ++++++
--- /var/tmp/diff_new_pack.Jxv6fE/_old  2017-03-04 16:48:50.568997990 +0100
+++ /var/tmp/diff_new_pack.Jxv6fE/_new  2017-03-04 16:48:50.568997990 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package mksh
 #
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 # Copyright (c) 2013 Guido Berhoerster.
 # Copyright (c) 2013, 2014 Thorsten Glaser.
 #
@@ -21,7 +21,7 @@
 # Please see OBS home:mirabile/mksh for a package for other distributions.
 
 Name:           mksh
-Version:        50f
+Version:        54
 Release:        0
 Summary:        MirBSD Korn Shell
 License:        MirOS and ISC
@@ -33,11 +33,17 @@
 BuildRequires:  ed
 # for %%check
 BuildRequires:  perl
+BuildRequires:  screen
+BuildRequires:  sed
 BuildRequires:  update-alternatives
 %if 0%{?suse_version} >= 1315
 # replaces pdksh in openSUSE >= 13.2 and SLES >= 12
 Provides:       pdksh = %{version}
 Obsoletes:      pdksh < %{version}
+%if 0%{suse_version} == 1315
+Provides:       ksh = %{version}
+Obsoletes:      ksh < %{version}
+%endif
 Provides:       /bin/ksh
 Requires(post): update-alternatives
 Requires(preun): update-alternatives
@@ -55,50 +61,90 @@
 
 %prep
 %setup -q -n %{name}
-%patch0 -p1
+%patch0 -p1 -b .p0
 
-%if 0%{?sles_version} > 0 || 0%{suse_version} > 0
-ed -s sh.h <<'EOF'
-,s/#define MKSH_VERSION "R\([^"]*\)"/#define MKSH_VERSION "R\1 SUSE"/
-w
-EOF
-ed -s check.t <<'EOF'
-,s/@(#)\(MIRBSD\|LEGACY\) KSH R\(.*\)/@(#)\1 KSH R\2 SUSE/
-w
-EOF
-ed -s mksh.1 <<'EOF'
-/insert-your-name-here/s/^\.\\" //
-s/insert-your-name-here/SUSE/
-w
-EOF
+%if 0%{?suse_version} > 0
+%if %{suse_version} == 1315
+ed -s sh.h <<-'EOF'
+       ,s/#define MKSH_VERSION "R\([^"]*\)"/#define MKSH_VERSION "R\1 SLES"/
+       w
+       EOF
+ed -s check.t <<-'EOF'
+       ,s/@(#)\(MIRBSD\|LEGACY\) KSH R\(.*\)/@(#)\1 KSH R\2 SLES/
+       w
+       EOF
+%else
+ed -s sh.h <<-'EOF'
+       ,s/#define MKSH_VERSION "R\([^"]*\)"/#define MKSH_VERSION "R\1 
openSUSE"/
+       w
+       EOF
+ed -s check.t <<-'EOF'
+       ,s/@(#)\(MIRBSD\|LEGACY\) KSH R\(.*\)/@(#)\1 KSH R\2 openSUSE/
+       w
+       EOF
+%endif
+ed -s mksh.1 <<-'EOF'
+       /insert-your-name-here/s/^\.\\" //
+       s/insert-your-name-here/SUSE/
+       w
+       EOF
+# " Stupid double quote for vi
 %endif
+if grep -q _DEFAULT_SOURCE /usr/include/features.h ; then
+    ed -s Build.sh <<-'EOF'
+       /^Linux)/
+       /-D_GNU_SOURCE/s/\(add_cppflags\s\)-D_GNU_SOURCE/\1 -D_GNU_SOURCE 
-D_DEFAULT_SOURCE/
+       w
+       EOF
+fi
+
+#
+# sys_errlist and sys_siglist *are* deprecated
+#
+ed -s Build.sh <<-'EOF'
+       /^ac_test strerror/s/\(strerror\).*\( <<\)/\1\2/
+       /^ac_test strsignal/s/\(strsignal\).*\( <<\)/\1\2/
+       w
+       EOF
+ed -s histrap.c <<-'EOF'
+       /^#if HAVE_SYS_SIGLIST/s/HAVE_SYS_SIGLIST/0/
+       w
+       EOF
 
 ln -s . examples
 
 %build
-export CFLAGS='%{optflags}'
+export CC=gcc
+if $CC -Werror -ftree-loop-linear -S -o /dev/null -xc /dev/null > /dev/null 
2>&1
+then
+    export CFLAGS='%{optflags} -Wuninitialized -Wall -Wextra 
-ftree-loop-linear -pipe'
+else
+    export CFLAGS='%{optflags} -Wuninitialized -Wall -Wextra -pipe'
+fi
 export CPPFLAGS='-DMKSH_VENDOR_MKSHRC_PATH=\"/etc/mkshrc\"'
+export LDFLAGS='-Wl,--as-needed -Wl,-O2'
 # filter compiler warnings and errors from configuration tests
 {
-# work around bugs in gcc 4.8 (deb#717734 rh#922974) and gcc 4.1.2 in SLE 10
-%if 0%{?suse_version} >= 1310 || 0%{?sles_version} == 10
-    sh Build.sh -r || touch build.failed
-%else
-    sh Build.sh -r -c lto || touch build.failed
-%endif
+    # work around bugs in gcc 4.8 (deb#717734 rh#922974) and gcc 4.1.2 in SLE 
10
+    case "$(gcc --version | head -n 1)" in
+    *\ 4.[12345678].*)
+       lto=
+       ;;
+    *)
+       # lto="lto" cause error with gcc 6.3.1 20170202
+       # beside this lto makes debugging much harder
+       lto=
+       ;;
+    esac
+    sh Build.sh -r ${lto:+-c $lto} || touch build.failed
     mv test.sh test-mksh.sh
-# build lksh to automatically enable -o posix if called as sh
+    # build lksh to automatically enable -o posix if called as sh
     CPPFLAGS="$CPPFLAGS -DMKSH_BINSHPOSIX"
-# work around bugs in gcc 4.8 (deb#717734 rh#922974) and gcc 4.1.2 in SLE 10
-%if 0%{?suse_version} >= 1310 || 0%{?sles_version} == 10
-    sh Build.sh -L -r || touch build.failed
-%else
-    sh Build.sh -L -r -c lto || touch build.failed
-%endif
+    sh Build.sh -L -r ${lto:+-c $lto} || touch build.failed
     mv test.sh test-lksh.sh
-} 2>&1 | sed \
-  -e 's!conftest.c:\([0-9]*\(:[0-9]*\)*\): error:!cE(\1) -!g' \
-  -e 's!conftest.c:\([0-9]*\(:[0-9]*\)*\): warning:!cW(\1) -!g'
+} 2>&1 | sed -r \
+  -e 's!conftest.c:([0-9]*(:[0-9]*)*): error:!cE(\1) -!g' \
+  -e 's!conftest.c:([0-9]*(:[0-9]*)*): warning:!cW(\1) -!g'
 test ! -e build.failed
 
 %install
@@ -127,9 +173,36 @@
 %endif
 
 %check
+SCREENDIR=$(mktemp -d ${PWD}/screen.XXXXXX) || exit 1
+trap 'rm -rf $SCREENDIR' EXIT
+SCREENRC=${SCREENDIR}/mksh
+export SCREENRC SCREENDIR
+export HOME=${SCREENDIR}
+exec 0< /dev/null
+SCREENLOG=${SCREENDIR}/log
+cat > $SCREENRC<<-EOF
+       deflogin off
+       deflog on
+       logfile $SCREENLOG
+       logfile flush 1
+       logtstamp off
+       log on
+       setsid on
+       scrollback 0
+       silence on
+       utf8 on
+       EOF
+> $SCREENLOG
+tail -q -s 0.5 -f $SCREENLOG & pid=$!
 for shell in mksh lksh; do
-    ./test-${shell}.sh -v -f -C regress:no-ctty
+    screen -D -m sh -c "./test-${shell}.sh -v -f || > failed"
 done
+kill -TERM $pid
+if test -e failed
+then
+    sed -rn '/FAIL /,/^pass /p' $SCREENLOG
+    exit 1
+fi
 
 %clean
 rm -Rf %{buildroot}

++++++ mksh-R50f.tgz -> mksh-R54.tgz ++++++
++++ 20190 lines of diff (skipped)

++++++ mksh-vendor-mkshrc.patch ++++++
--- /var/tmp/diff_new_pack.Jxv6fE/_old  2017-03-04 16:48:50.724975903 +0100
+++ /var/tmp/diff_new_pack.Jxv6fE/_new  2017-03-04 16:48:50.724975903 +0100
@@ -1,6 +1,12 @@
---- a/main.c   2014-10-03 19:20:17.000000000 +0200
-+++ b/main.c   2014-10-07 18:20:32.529192101 +0200
-@@ -595,6 +595,11 @@ main_init(int argc, const char *argv[],
+---
+ b/main.c |    5 +++++
+ b/mksh.1 |    5 +++++
+ 2 files changed, 10 insertions(+)
+
+diff --git a/main.c b/main.c
+--- a/main.c
++++ b/main.c
+@@ -614,6 +614,11 @@ main_init(int argc, const char *argv[],
                if (Flag(FLOGIN))
                        include(substitute("$HOME/.profile", 0), 0, NULL, true);
                if (Flag(FTALKING)) {
@@ -12,9 +18,10 @@
                        cp = substitute(substitute("${ENV:-" MKSHRC_PATH "}",
                            0), DOTILDE);
                        if (cp[0] != '\0')
---- a/mksh.1   2014-10-07 17:31:02.000000000 +0200
-+++ b/mksh.1   2014-10-07 18:20:32.529192101 +0200
-@@ -371,6 +371,11 @@ it is processed; non-existence is silent
+diff --git a/mksh.1 b/mksh.1
+--- a/mksh.1
++++ b/mksh.1
+@@ -378,6 +378,11 @@ it is processed; non-existence is silent
  A privileged shell then drops privileges if neither was the
  .Fl p
  option given on the command line nor set during execution of the startup 
files.


Reply via email to