update from MirBSD CVS
authormirabilos <t.glaser@tarent.de>
Thu, 20 Dec 2018 04:58:51 +0000 (05:58 +0100)
committermirabilos <mirabilos@evolvis.org>
Thu, 20 Dec 2018 04:58:51 +0000 (05:58 +0100)
mksh/_remfornd
mksh/debian-dev/BuildDSC.sh
mksh/gened2k
mksh/wtf-chkdb [new file with mode: 0644]
other/getshver
posix/pbuilder-hooks/D29dhbpo [new file with mode: 0644]

index 0c0ef29..82e3f94 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env mksh
-# From MirOS: contrib/code/Snippets/shuffle,v 1.7 2012/10/19 18:59:39 tg Exp $
+# From MirOS: contrib/code/Snippets/shuffle,v 1.8 2014/02/10 00:36:12 tg Exp $
 #-
 # Copyright © 2006, 2010, 2011, 2012, 2015, 2017, 2018
 #      mirabilos <m@mirbsd.org>
@@ -37,7 +37,7 @@ while IFS= read -p -r -d "" _i; do
 done
 
 # arc4random(3) in Pure mksh™
-set -A seedbuf -- $(dd if=/dev/arandom bs=257 count=1 2>&- | \
+set -A seedbuf -- $(dd if=/dev/arandom bs=257 count=1 2>/dev/null | \
     hexdump -ve '1/1 "0x%02X "')
 set -A rs_S
 typeset -i rs_S rs_i=-1 rs_j=0 n
index ae3839f..0a0971a 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/mksh
-# $MirOS: contrib/hosted/tg/deb/BuildDSC.sh,v 1.21 2017/08/12 01:02:11 tg Exp $
+# $MirOS: contrib/hosted/tg/deb/BuildDSC.sh,v 1.22 2018/12/13 07:16:44 tg Exp $
 #-
-# Copyright (c) 2010, 2011
+# Copyright (c) 2010, 2011, 2018
 #      Thorsten Glaser <t.glaser@tarent.de>
 # Copyright © 2015, 2016, 2017
 #      mirabilos <m@mirbsd.org>
@@ -156,7 +156,11 @@ newname=$pkgstem-$upstreamversion
 cd "$newname"
 dpkg-buildpackage -rfakeroot -S -I -i $optd $optN $opta $optv -us -uc
 rv=$?
-[[ -n $optN ]] || fakeroot debian/rules clean
+if [[ -n $optN ]]; then
+       rm -f debian/files
+else
+       fakeroot debian/rules clean
+fi
 cd ..
 [[ $newname = $curname ]] || mv "$newname" "$curname"
 
index ac0f2eb..bd4bd37 100644 (file)
@@ -1,5 +1,5 @@
 #!/bin/mksh
-# $MirOS: contrib/code/Snippets/gened2k,v 1.4 2008/05/03 01:09:23 tg Exp $
+# $MirOS: contrib/code/Snippets/gened2k,v 1.5 2018/10/07 01:10:14 tg Exp $
 #-
 # Copyright (c) 2004
 #      Thorsten "mirabilos" Glaser <tg@mirbsd.de>
@@ -93,7 +93,7 @@ gethash() {
        print $hash
 }
 
-# Main Programme
+# main program
 
 if [[ $# -lt 1 || $1 == -@(h|H|?) ]]; then
        print "Usage:"
diff --git a/mksh/wtf-chkdb b/mksh/wtf-chkdb
new file mode 100644 (file)
index 0000000..a3fd9cf
--- /dev/null
@@ -0,0 +1,82 @@
+#!/bin/mksh
+# $MirOS: src/usr.bin/wtf/chkdb,v 1.6 2017/08/02 10:15:11 tg Exp $
+#-
+# Copyright © 2015, 2016, 2017
+#      mirabilos <m@mirbsd.org>
+#
+# Provided that these terms and disclaimer and all copyright notices
+# are retained or reproduced in an accompanying document, permission
+# is granted to deal in this work without restriction, including un‐
+# limited rights to use, publicly perform, distribute, sell, modify,
+# merge, give away, or sublicence.
+#
+# This work is provided “AS IS” and WITHOUT WARRANTY of any kind, to
+# the utmost extent permitted by applicable law, neither express nor
+# implied; without malicious intent or gross negligence. In no event
+# may a licensor, author or contributor be held liable for indirect,
+# direct, other damage, loss, or other issues arising in any way out
+# of dealing in the work, even if advised of the possibility of such
+# damage or existence of a defect, except proven that it results out
+# of said person’s immediate fault when using the work as intended.
+#-
+# Check the acronyms database for validity.
+
+acronyms=${ACRONYMDB:-/usr/share/misc/acronyms}
+
+function die {
+       print -ru2 -- "E: $*"
+       exit 1
+}
+rv=0
+function warn {
+       print -ru2 -- "W: $*"
+       rv=1
+}
+
+[[ -s $acronyms ]] || die "acronyms database ${acronyms@Q} missing or empty"
+
+exec <"$acronyms"
+IFS= read -r line || die "acronyms database ${acronyms@Q} empty"
+[[ $line = '  '* ]] || die "acronyms database ${acronyms@Q} does not start with caseconv pairs"
+
+set -U
+[[ $line = ' '+( ?/?) ]] || die "acronyms database ${acronyms@Q} caseconv pairs line syntax error"
+set +U
+set -A ucsrch -- $line
+
+lline=$line
+num=1
+last= nacr=0 nexp=0 lots=${EPOCHREALTIME%?????}
+while IFS= read -r line; do
+       (( ++num ))
+       [[ $line = *@([         \r\f]) ]] && warn "whitespace at EOL: $line"
+       if [[ $line != *'       '* ]]; then
+               [[ $line = ' '* ]] || warn "does not begin with a space: $line"
+               [[ $line < $lline ]] && warn "not sorted: $line"
+               lline=$line
+               continue
+       fi
+       let ++nexp
+       target=${line%% *}
+       [[ $target = "$last" ]] || let ++nacr
+       last=$target
+       exp=${line#*    }
+       [[ $exp = *'    '* ]] && warn "tab in expansion: $line"
+       typeset -u tgsrch=$target
+       if [[ $tgsrch = *[A-Z].* ]]; then
+               warn "never matched, contains dots: $line"
+               target=${target//.}
+               tgsrch=${tgsrch//.}
+       fi
+       for p in "${ucsrch[@]}"; do
+               eval 'tgsrch=${tgsrch//'"$p}"
+       done
+       [[ $target != "$tgsrch" ]] && warn "never matched, not case-folded: $line"
+       [[ $tgsrch < $lline ]] && warn "not sorted: $line"
+       lline=$tgsrch
+       [[ $lots = ${EPOCHREALTIME%?????} ]] && continue
+       print -n "$num...\r"
+       lots=${EPOCHREALTIME%?????}
+done
+(( rv )) && die "acronyms database ${acronyms@Q} contains errors"
+print "I: counted $num lines ($nacr acronyms with $nexp expansions), all OK"
index f964fac..cab5398 100644 (file)
@@ -1,4 +1,4 @@
-# $MirOS: contrib/code/Snippets/getshver,v 1.20 2018/06/29 01:01:27 tg Exp $
+# $MirOS: contrib/code/Snippets/getshver,v 1.22 2018/10/20 15:27:20 tg Exp $
 #-
 # Copyright (c) 2009, 2010, 2011, 2012, 2013, 2014, 2016, 2018
 #      mirabilos <m@mirbsd.org>
@@ -188,6 +188,14 @@ if (
        echo ksh88
        exit 0
 fi
+# AT&T ksh86
+test x"$(LC_ALL=C; type print 2>&1)" = x"print is a shell builtin" && \
+    case $(print -- 2>&1) in
+*'bad option'*)
+       echo 'ksh86 Version 06/03/86(/a)'
+       exit 0
+       ;;
+esac
 
 # posh (pdksh without Korn shell)
 if test x"$POSH_VERSION" != x""; then
@@ -210,7 +218,7 @@ if test x"`
     `" = x"1"; then
        # we have a working "local"
        if test x"$(PATH=/nonexistent; export PATH
-           printf 'f%so' o 2>/dev/null)" = x"foo"; then
+           exec 2>/dev/null; printf 'f%so' o)" = x"foo"; then
                # probably, but not certain
                # also: (old) NetBSD /bin/sh (e.g. on MirBSD); dash on Debian
                echo posix-dash
diff --git a/posix/pbuilder-hooks/D29dhbpo b/posix/pbuilder-hooks/D29dhbpo
new file mode 100644 (file)
index 0000000..340edb9
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh
+# $MirOS: contrib/hosted/tg/deb/hookdir/D29dhbpo,v 1.1 2018/12/20 01:48:12 tg Exp $
+#-
+# Not complicated enough for copyright.
+#
+# Evil hack, to go with D25backports, when necessary.
+
+unset LANGUAGE
+LC_ALL=C; export LC_ALL
+
+d=${DIST%/*}
+d=${d%-backports*}
+
+apt-get -y install debhelper/$d-backports