reproducer:
http://carme.pld-linux.org/~glen/mksh-bug.sh
16:03:36 mira|AO> local x="${y:-z}" where y/z are empty is normally 'local x=' but in some buggy versions it was just 'local '
--- /dev/null
+#!/bin/sh
+set -e
+
+CVSROOT=_anoncvs@anoncvs.mirbsd.org:/cvs
+module=mksh
+tag=mksh-R50d
+branch=mksh-R50stable
+out=branch.diff
+
+d=$-
+filter() {
+ set -$d
+ # remove revno's for smaller diffs
+ sed -e 's,^\([-+]\{3\} .*\)\t(revision [0-9]\+)$,\1,'
+}
+
+echo >&2 "Running diff: $tag -> $branch"
+
+cvs -qz8 -d "$CVSROOT" rdiff -u -r"$tag" -r"$branch" "$module" > $out.tmp
+
+if cmp -s $out{,.tmp}; then
+ echo >&2 "No new diffs..."
+ rm -f $out.tmp
+ exit 0
+fi
+mv -f $out{.tmp,}
+
+./dropin $out
Summary(pl.UTF-8): Powłoka Korna z MirBSD
Name: mksh
Version: 50d
-Release: 3
+Release: 4
License: BSD
Group: Applications/Shells
Source0: http://www.mirbsd.org/MirOS/dist/mir/mksh/%{name}-R%{version}.tgz
# Source0-md5: 1c3882c07a760b23df1ad94ad0b4ed2e
Source1: %{name}-mkshrc
+Source2: get-source.sh
+Patch100: branch.diff
+# Patch100-md5: 224395dd29f7cd25ddcf7135f9e0e6fe
Patch0: %{name}-mkshrc_support.patch
Patch1: %{name}-circumflex.patch
Patch2: %{name}-no_stop_alias.patch
%setup -qcT
gzip -dc %{SOURCE0} | cpio -mid
mv mksh/* .; rmdir mksh
+%patch100 -p3
%patch0 -p1
%patch1 -p1