mksh_39.3-1~bpo50+1_i386.changes is NEW
(new) mksh_39.3-1~bpo50+1.diff.gz optional shells
(new) mksh_39.3-1~bpo50+1.dsc optional shells
(new) mksh_39.3-1~bpo50+1_i386.deb optional shells
MirBSD Korn Shell
mksh is the MirBSD enhanced version of the Public Domain Korn
shell (pdksh), a Bourne-compatible shell which is largely similar
to the original AT&T Korn shell; mksh is the only pdksh derivate
currently being actively developed.
It includes bug fixes and feature improvements, in order to produce a
modern, robust shell good for interactive and especially script use.
mksh has UTF-8 support (in substring operations and the Emacs editing
mode) and, while R39c corresponds to OpenBSD 4.6-current ksh (without
GNU bash-like PS1 and fancy character classes), adheres to SUSv4 and
is much more robust.
The code has been cleaned up and simplified, bugs fixed, standards
compliance added, and several enhancements (for extended
compatibility to other modern shells – as well as a couple of its
own) are available.
This shell is Debian Policy 10.4 compliant and may be used as /bin/sh
on Debian systems.
.
The mksh-static binary is a version of mksh, linked against dietlibc
(if dietlibc exists for that Debian architecture), and optimised for
small code size, for example for use on initrd or initramfs images,
installation or rescue systems.
.
A sample ~/.mkshrc is included in /usr/share/doc/mksh/examples and
provided as /etc/skel/.mkshrc conffile.
(new) mksh_39.3.orig.tar.gz optional shells
Changes: mksh (39.3-1~bpo50+1) lenny-backports; urgency=low
.
* Rebuild for lenny-backports.
.
mksh (39.3-1) unstable; urgency=low
.
* New upstream version R39c; shortened ChangeLog since R39:
- [tg] Build system, code, docs and testsuite cleanup, also style(9)
- [tg] Parse and evaluate ${parameter op word} correctly
- [tg] Fix possible SIGSEGV in interactive mode bind builtin due to
mis-optimisation of gcc combined with a bogus prototype;
discovered by Grml.org's Frank Terbeck (ft), thanks!
- [tg] Clean up some more strict *roff or compiler warnings: dashes,
undefined macros; casting errors (constness, signedness, type
width/class) and catch possibly unaligned pointer dereferences
early; remove code/rodata redundancies, plug memory leaks
- [smultron] Tweak the manual page: point out the word “colour”
- [tg] Optimise dot.mkshrc DJB’s CDB hash implementations; add Bob
Jenkins’ one-at-a-time hash (standard and leading-bit
initialised); fix signedness in expressions; let the hashes use
stdin if "$*" is empty, like Lb64{en,de}code; use
“[[ -o utf8-mode ]]” ipv “[[ $- = *U* ]]”
- [tg] Build.sh portability fixes: missing prerequisite headers;
ensure $CC is never called without $CFLAGS; fix test.sh, et al.
- [tg] Optimise internal variable representation; use one-at-a-time
hash; cache hash values for faster resizing at zero memory cost;
clean up hash table (keytab) code; switch hash table collision
resolution algorithm to Python’s; prepare for later changes
- [tg] Fix type errors in the source code (int → bool, size_t,
mksh_uari_t)
- [tg] Fix “${foo:bar:$baz}” not working (missing substitute() call)
- [tg] Implement “typeset ±a” as nop
- [tg] Support ksh93-like “${!foo[@]}” listing the keys (indicēs) of
all set array elements
- [tg] Support bash/ksh93-like “array=([key]=value …)” and
(additionally) “set ±A array -- [key]=value …” to directly
specify indicēs to use
- [tg] Document the optional, unsupported, printf(1) builtin in TFM
- [tg] Replace realpath(3) dependency and internally used
get_phys_path() pdksh code with own implementation; always offer
the realpath builtin
- [tg] Implement nameref='typeset -n' (bounded variables) like AT&T
ksh93 but with mksh-style nested/dynamic scoping and on-use
resolving; they cannot currently be stored in an array though
- [tg] Add “chdir” builtin doing the same as “cd” special builtin
- [tg, David Korn] Document more differences between mksh (and
pdksh) and AT&T ksh (or, more specific, ksh88, ksh93) in the
manual page
- [tg] Support “'a'” as an alternative to “1#a”, like ksh93 does
- [tg] Add ksh’s “test -o ?foo”: true if “foo” is a valid shell
option, where “foo” can be “xtrace” or “-x” or “+x” (these three
are equivalent)
- [tg] Support “$'…'” backslash-expanding single-quoted strings, as
requested by David Korn, with almost the same syntax and semantics
- [tg] Unify backslash expansion code (C style vs. print builtin)
- [tg] Support “function stop () {” bashism
- [tg] For several items in the source code that require order to be
kept, provide from multiply-included header files; sort correctly
- [tg] Get rid of unneeded FMONITOR (-m) for shells without job
control; sync list of flags, comments and manpage with reality
- [tg] If MKSH_SMALL, reduce size by removing editor functionality
- [tg] Support VT100 emulator style {Ctrl,Alt}-CurLeft/Right keycode
sequences with new vt100-hack emacs bind function (LP: #355883)
- [cnuke, tg] Remove more, like GNU bash extensions, from MKSH_SMALL
- [tg] Remove more functionality, such as Emacs command line editing
mode bind key macros, and other extensions, from MKSH_SMALL to
help floppies
- [tg] Make forking and subshells less expensive wrt. random state
- [tg] Build and source code fixes for / caught by SUNWcc, HP aCC,
pcc, DEC ucode cc (MIPS), GCC, LLVM clang
- [tg] Make undef/def MKSH_NOVI into 0/1 MKSH_S_NOVI build flag
- [tg] Get rid of "U getenv" in nm output, we already import environ
- [tg] Simplify $RANDOM handling: reads are now either arc4random(3)
(if available: set +o arc4random is no longer possible) or an LCG;
writes are arc4random_pushb(3) if available for explicit writes,
arc4random_addrandom(3) otherwise, or another one-at-a-time hash
feeding the LCG; furthermore, RANDOM is now always exported to and
imported from (implicit read: no push to kernel done) the
environment vector on startup and spawning
- [tg] Document mksh does not exactly use OPTU-8/OPTU-16 in the
manpage, as well as when characters, octets, or screen columns
are used
- [tg] Fix exit 127 on "mksh /tmp/horsies" ipv of 1 on ENOENT,
#548744
- [Clint Adams] Fix typos in the testsuite
- [tg, Clint Adams] Begin a shared testsuite for mksh and posh
- [tg] Make 「((foo) || bar)」 and 「((foo) | (bar))」 work
- [tg] Fix lazy evaluation of assignments by ternary operator,
#445651
- [tg] Work around Cygwin bugs (quirks) hindering the testsuite
- [tg] In FSH mode, “echo [-n] 'foo\x40bar'” shall not be expanded
- [tg] Let set -- $(false); echo $? return 0 (POSIXly correct) in
FSH mode, 1 (needed for getopt(1) support) otherwise
- [tg] Changes of variables inside Bourne style POSIX functions
indeed affect the current execution environment (of the function
caller)
- [tg] Fix getopts behaviour (sync with AT&T ksh93 not ksh88)
- [tg] “eval $(false)” shall return 0 (Debian Closes: #550717)
- [tg] Ensure that /* apo'strophes in comments */ work
- [tg] Overhaul and simplify handling of (special) variables
- [tg] Further reduce memory (code/data) and import footprint
- [tg] Use functions without PATH_MAX limit on GNU/Hurd
- [tg] Fix tab completing pathnames containing ‘:’, ‘=’, ‘$’ or ‘`’
- [tg] Support ‘-T <tty>’ even if MKSH_SMALL and fix it
- [tg] Remove "which" alias "whence -p" to allow "which -a" in
dot.mkshrc and add more examples, some commented out
- [tg] Fix print_columns() issue with displaying items where
characters had differing number of octets and columns, and the
off-by-one which had hidden this problem with 2-octet 1-column
and 3-octet 2-column chars
- [tg] Beautify the manpage in both AT&T nroff and GNU groff
- [tg] Fix null-expansion of “${x%?}” if $x is unset
- [tg] Make some globbing (${x%?}) operate on characters instead of
octets; update manual page to reflect that others still do and
remove wording that let people think we’d ever support POSuX
character classes
- [tg] New ${%foo} returning width of $foo in screen columns, or -1
if $foo contains an ASCII/latin1/Unicode C0/C1 control character
- [tg] Fix subtle possible portability problem wrt. CHILD_MAX
- [tg] Honour ±U on command line of an interactive shell
- [tg] Fix dead stores and other bugs pointed out by the Clang
static analyser; put assertions in places it has false positives
- [tg] Plug uninitialised memory access and possible out-of-bounds
read of a buffer caught by Valgrind; change one memcpy(3) to
memmove(3) where srcbuf and dstbuf overlap; place (-DDEBUG)
workaround for false positive
- [tg] Rework __attribute__ compiler capability check
- [tg] Apply errno save/restore related fix from (sync with) oksh
- [tg] Build.sh: output message when switching from
autoconfiguration to building / output generation (requested by
Matt “lewellyn” Lewandowsky); use “conftest.c” ipv “scn.c” (to
please ccache); ...
- [tg] Allow “unset foo[*]” (keep attributes) and “typeset foo[*]”
(for forward-compatibility; R39b it’s the same as “typeset foo”)
- [tg] When persistent history is enabled (but not MKSH_SMALL) and
used, intertwine the shells concurrently accessing $HISTFILE
better ⇒ sync on empty or duplicate line as well (requested by
Maximilian “mxey” Gaß)
- [tg] Split off “set ±o posix” and “set ±o sh” again, to be
somewhat more compatible to various old or vendor versions of
pdksh and mksh:
+ MKSH_BINSHREDUCED sets FSH but not FPOSIX
+ MKSH_MIDNIGHTBSD01ASH_COMPAT depends on FSH but not FPOSIX
+ The echo built-in behaves the same for FPOSIX and FSH
+ File descriptors > 2 are not closed for both FPOSIX and FSH
+ Both “set -o posix” and “set -o sh” call “set +o braceexpand”
+ In contrast to R39 and below, the errorlevel of
“set -- $(getopt ab:c "$@")” is now the same in ksh and
FPOSIX mode (0) and only FSH will use the errorlevel of getopt
(used to be the other way round)
- [tg] Document some more shortcomings in the mksh(1) manual page
- Contributed printf.c fixes:
+ [tg] Make printf(1) builtin use “$'…'” mode, like ksh93
+ [tg] Fix const-cleanliness
* Remove patches now integrated in upstream or no longer needed
* Bump Standards-Version, no relevant change
* Apply patches inside the top-level directory
* debian/source/format: Enforce "1.0" manually, for now
* debian/README.source: New, by zack's suggestion, to document some
particulars of the source package and why I'm not using 3.0 yet
* debian/README.Debian, debian/mksh.docs: New, document dash bug
* debian/control: I'm sure we don't need to B-D on locales-all [m68k]
* debian/control: tweak package short description to well-known text
and sync long description with upstream's
* debian/copyright: Update, sync with upstream
* Rename build/ into builddir/ to avoid phony target vs pathname
conflict in Makefile (debian/rules)
* debian/rules: Ensure we use the C locale during build (especially
for patch application collation order)
* debian/mksh.examples, debian/rules: Split out dh_installexamples args
* debian/rules: Update for R39c, printf.c.1.14 particulars
* debian/rules: When building, try with -combine first but retry if it
fails, like my OpenSuSE Buildservice packages do (cf. LP: #375604)
* debian/control: Remove DMUA, I'm a DD now
* debian/diffs/backport-fixes.diff: New, fixes not yet in R39c
.
mksh (39.1-4) unstable; urgency=low
.
* Update danish translation, Tak tazz
* debian/diffs/backport-echo-noescapes.diff: new, backport fix
for "echo [-n] 'foo\x40bar'" expanding even in sh mode
* debian/diffs/*: refresh and bump version number
* debian/control: Update and correct package description
.
mksh (39.1-3) unstable; urgency=low
.
* Add support for using pax instead of cpio for extraction
* Backport fix for return code bug (Closes: #548744)
.
mksh (39.1-2) unstable; urgency=low
.
* debian/rules: build mksh-small without floating point support
also, because it’s ⓐ huge and ⓑ buggy in dietlibc
* debian/diffs/backport-function-parens.diff: new, support the
"function stop () {" bashism sometimes popular in sh scripts
* debian/diffs/zz-version.diff: fix an oversight and use the
actual 39.1-* version number instead of 38.9.yyyymmdd-* from
when this patch was first being created in an experimental
version; refresh diff against original files; use -U1 instead
of -up for sh.h diff to not get fuzz at the RCS ID
.
mksh (39.1-1) unstable; urgency=low
.
* New upstream version R39 (despite #540512, I got fed up waiting for
Guillem/Gerrit to contact me), Closes: #541617; complete ChangeLog:
- [tg] Shut up a bogus gcc warning during configuration process
- [tg] Spell AT&T consistently in the source code
- [tg] Tweak mksh(1) manual page, from wbx@ and «lewellyn:#ksh»
- [tg] dot.mkshrc: fix $@ vs. $* mix-up
- [tg] dot.mkshrc: add DJB cdb hash function
- [tg] Sync with oksh: fix Vi editing mode word erase handling, again
- [tg] Skip whitespace between POSIX style shell function name and
its definition parenthesēs during detection if an alias of the same
name already exists to be more robust (Debian Closes: #535970)
- [tg] Build system improvements for ACK and nwcc, both on Debian sid
- [tg] Fix spelling error in changelog discovered by Lintian
- [tg] Aligh “set -o nounset” / “set -u” behaviour with future POSIX
standard, as discussed with GNU bash maintainers, David Korn from
AT&T ksh93, and The Open Group; prompted by use in Debian;
Closes: #539538
- [tg] add an unsupported way to make printf(1) a builtin
- [tg] Build system and regression test code and comment improvements:
better and more comments matching reality better; more reliability
w.r.t. passed CPPFLAGS; more of the MKSH_SMALL changes may be
overridden, all of them are now enumerated on the webpage; fixed
some breakage; portability
- [tg] MKSH_NOPWNAM and MKSH_SMALL will now both disable the ~fac/
(homedir) expansion code wholly if defined, not just getpwnam(3)
calls
- [tg] shells without job control no longer define the standard
“stop” and “suspend” aliases (they are pointless anyway);
regression tests know
- [tg] use system RCS ID macros on MirBSD if decent enough
- [tg] shut up bogus gcc 4.5/trunk warnings caused by
over-optimisation
- [tg] restore ANSI C compilability broken in R38 (speed up, even)
- [tg] use memcpy(3) ipv strlcpy(3) if possible and safe and secure
* Integrate czech translation update, Dêkuji; Closes: #534788
* Switch to debhelper 5, by suggestion of Patrick “aptituz” Schönfeld
* Add (commented out) framework for building with klibc, pending
bugfixes and enhancements I submitted to the Debian BTS; can be
customised for with/without MKSH_SMALL and dynamic/static linkage
* debian/copyright: remove setmode.c remark, it is never used:
mksh-full has it provided by libbsd; mksh-diet, mksh-small, and
mksh-klibc have the mknod builtin disabled and do not need it;
strlcpy.c is provided by libbsd, dietlibc and klibc, so neither
mksh-full nor mksh-diet (nor mksh-klibc) need it, only mksh-small
in the glibc version (on platforms where dietlibc is unavailable)
* debian/rules: Append -e to sub-make command line, to force it to
use the correct build environment (mostly CFLAGS)
* Apply policy compliance (-o posix if run as sh) to mksh-small
* Disable duplication of -Wall on the compiler command line
* debian/rules: improve comments
* mksh-klibc: debian/rules can now build an MKSH_SMALL flavour
* Let mksh have all builtins dash has; Closes: #532343
‣ New diffs/add-builtin-chdir.diff: add “chdir” builtin (= “cd”)
‣ New diffs/add-builtin-printf.diff: add “printf” builtin (manpage)
‣ debian/copyright, debian/rules: new source file printf.c (code),
install and use it; make sure klibc has strtod(3) disabled
‣ New diffs/add-builtin_common.diff: common part of the diff
* New diffs/zz-version.diff: use Debian specific ksh version number
* debian/rules: reorder some assignments to make it better readable
and add and improve comments
* debian/watch: add RCS ID and comments
* debian/mksh.menu: don’t create an entry for Diet mksh any more
* debian/mksh.menu, debian/mksh*.xpm: add icons, long description
* Update spanish translation; from asarch via IRC, ¡gracias!
* Fix a spelling error and repetitiveness in the German translation
* Use portuguese debconf translation for the missing parts of the
brasilian-portuguese translations and mark them fuzzy
* Translate the missing dutch parts myself (as good as I can)
* Convert all debconf translation files to UTF-8
* Remove VCS-CVS field override; the Lintian maintainers have
agreed to adjust it so that anoncvs-over-ssh is not criticised
* Switch to Debian Policy 3.8.3, no relevant changes
.
mksh (38.3-1) unstable; urgency=low
.
* New upstream version R38c; complete ChangeLog:
- [tg] Fix regression tests on OSes insisting on a shebang (Cygwin)
- [Sean Boudreau] QNX 6.4.2 ed(1) is said to have the bugs fixed
- [tg] Build.sh bugfixes: -DMKSH_BINSHREDUCED can also be given
without -DMKSH_SMALL; allow HAVE_REALPATH=x and HAVE_REVOKE=x in
the environment to re-enable these even if -DMKSH_SMALL disables
them by default, like mknod already did
- [tg] -DMKSH_ASSUME_UTF8=0 skips the environment checks, like
-DMKSH_ASSUME_UTF8=1, but disables the utf8-mode
- [tg] Apply some more KNF – style(9) – to the source; clean it up
and further optimise for small size
- [OpenBSD] Fix segfaults caused by missing check for end of input
in the tokeniser on “let --” and other input
- [OpenBSD] Make Vi editing mode ^W behave like Emacs mode’s
- [tg] If no killpg(3) is available, use kill(2) and hope it works
- [tg] -DMKSH_NO_LIMITS skips trying to build the ulimit code
* debian/rules: use DEB_BUILD_ARCH, not DEB_HOST_ARCH, to determine
if dietlibc should be excluded on certain architectures where it
is known to fail
.
mksh (38.2-1) unstable; urgency=low
.
* debian/rules: fix typo in buildd admin instructions for openpty()
* New upstream version R38b; complete ChangeLog:
- [André Wösten] Add __NO_EXT_QNX to avoid picking up the wrong
waitfor() from <libutil.h> in (while porting to) QNX 6.4
- [tg] Plug memory corruption issue introduced in R38
- [tg] Amend dot.mkshrc with a base64 en-/decoder in shell
- [tg] Import a manpage fix via OpenBSD from Alan R. S. Bueno
.
mksh (38.1-1) unstable; urgency=low
.
* debian/control: depend on locales-all on m68k because its
locales and glibc packages are not up to date / installable
* debian/rules: ignore localedef failure (uncritical to build)
* New upstream version R38; complete ChangeLog:
- [tg] Improve regression test output debugging
- [tg] Fix <libutil.h> prerequisites on MidnightBSD in mirtoconf
- [tg] Mention that RedHat BZ#496791 cannot currently be fixed in
the manpage by discouraging use of apostrophes in comments in
comsubs; add appropriate (expected-fail) regression tests
- [tg] Sync with OpenBSD ksh (mostly a no-op)
- [James Butler] Add search-history-up and search-history-down
keybindings (tcsh-like) to the Emacs command line editing mode
- [tg] Bind new search-history-{up,down} to ANSI PgUp and PgDn keys
- [tg] Document ANSI default keybindings (↑↓←→ Home End Del
PgUp PgDn) in the mksh(1) manual page as well
- [tg] Optimise internal UTF-8 handling code for size and reusability
- [tg] Incompatible change: ${foo:1:2} and ${#foo} now operate on
characters, not on bytes. Characters are octets (set +U) or
(utf8-mode) MirOS OPTU-8 multibyte characters (set -U)
- [tg] Improve regression tests relating to ${foo:1:2} and ${#foo} and
let wc=1#x and utf8-mode
- [tg] Use per-file copyright notices, move global text to manpage
- [tg] Expose new MKSH_MIDNIGHTBSD01ASH_COMPAT ifdef; change it to only
trigger if FPOSIX (or MKSH_BINSHREDUCED and /bin/sh)
- [tg] Remove already-dead “#if 0” style debugging code
- [tg] Change some code into a more portable fashion, optimise
- [tg] Allow [[ $foo ]] (ksh93 extension) mentioned by pgas
- [tg] Clean up mksh and the contributed arc4random.c for some
conversion, enum and other warnings for gcc-snapshot trunk r147610
- [tg] Ensure no function uses more than 768 bytes of stack either
- [tg, wbx] Add extension to make “!string” lines work like in GNU bash
* debian/rules, debian/copyright: adjust to upstream changes,
provide separate copyright file for Debian
* Remove package-uses-deprecated-debhelper-compat-version
lintian override to show up in statistics, we want to
retain the old debhelper version to facilitate backports
.
mksh (37.3-2) unstable; urgency=low
.
* Provide a way to not use dietlibc for /bin/mksh-static
on certain architectures; use it for s390 (Closes: #523088)
* debian/control: run ispell over it
.
mksh (37.3-1) unstable; urgency=low
.
* New upstream version R37c; complete ChangeLog:
- [tg] Improve præprocessor detection/work in Build.sh
- [tg] Decouple MKSH_CONSERVATIVE_FDS from MKSH_SMALL
- [tg] Enable MKSH_CONSERVATIVE_FDS by default on Minix 3
- [tg] Work around the (in-)famous ACK "const" bug
- [tg] Optimise structure alignment and padding; Closes: #522778
- [tg] Retain LOCPATH (for glibc locale) in check.pl
- [tg] Document, simplify and clean up the code better
- [tg] Use mirbsd.org eMail addresses consistently
* debian/rules: try to at least execute the built binaries in !nocheck
cases, to prevent totally unusable packages from being published;
Closes: #522779
* Use LOCPATH and a temporarily generated UTF-8 locale for the regres-
sion test suite (from Steve “vorlon” Langasek); depend on localedef
Closes: #522777
* debian/control: add comment where the dietlibc list comes from
* Sync package description, etc. with R37c release and upstream
* debian/control: mention VCS-CVS syntax and place of upstream source
.
mksh (37.2-1) unstable; urgency=low
.
* New upstream version R37b; complete ChangeLog:
- [tg] Clean up build system and dot.mkshrc some more
- [tg] Add getrusage(2) implementation using times(3) if none found
- [tg] Add jobless mode (for Minix 3, Plan 9, …)
- [tg] Detect the Amsterdam Compiler Kit in the build system
- [tg] If no RLIM_INFINITY don’t try to do ulimit
- [tg] Work around gcc4 strict warnings vs. broken system headers
- [tg] Work around systems with mmap(2) but no munmap(2)
- [tg] Fix (disallow) bind key macro recursion (instead of beeping
and going into an endless loop), allow multi-line bind key macros
(mostly from Alexander Hall), remove dead code (the beeping) and
optimise
- [tg] Add (commented out, undesired, standards compliance breaking)
compatibility code to MidnightBSD 0.1 /bin/sh for ctriv
- [tg] Clarify the mksh(1) manual page even more
- [tg] Port to Minix 3 + GCC
* New upstream version R37; complete ChangeLog:
- [tg] Rename -o utf8-hack to -o utf8-mode
- [tg] Fix spacing mode error (pasto) in the mdoc(7) format manpage
- [tg] Implement $((#…)) unsigned arithmetic calculation, needed for
arc4random_uniform(3)-in-korn-shell implementation
- [tg] Really preserve LD_LIBRARY_PATH in check.pl
- [tg] New Build.sh option ‘-combine’ for building mksh(1) at once
with “-fwhole-program --combine” (gcc4, llvm-gcc4) if available
- [tg] Always set COLUMNS and LINES trying as hard as we can, using
TIOCGWINSZ even if used without FTALKING, and with the sane 80x24
default if the ioctl(2) fails
- [tg] Handle _POSIX_VDISABLE being undefined (e.g. Linux/klibc)
- [tg] <sys/file.h> is only required for flock(2)
- [tg] Fix multi-column output routine for the corner case if the
screen is less wide than one output column; 10x Gábor Gergely
- [tg] Fix ${foo/@(%)/\\x} in UTF-8 mode (utf_widthadj for control
characters U+0080‥U+009F is slightly broken; this fix shifts the
brokenness into the command line editing mode only)
- [tg] Introduce mksh_ari_t and mksh_uari_t internal types to limit
arithmetics to 32 bit on all systems; currently depending on the
already-used standard int32_t and uint32_t types. Future expansion
to 64 bit possible. Document that shell integer variables use this
type.
- [tg] The variables PGRP, PPID, RANDOM and USER_ID are now unsigned
- [tg] Fix two off-by-ones breaking PS1 ending with a newline; bug
reported by Matthias Diener
- [tg] Just pass through C1 control characters for now
- [tg] Code and internal interfaces cleanup
- [tg] Regression test fixes for Cygwin env(1) being unsorted
- [tg] Replace the memory allocator by something equally simple and
homegrown but optimised for use with mksh and free checking
- [tg] Import a couple of minor fixes (e.g. spelling) from oksh
- [tg] Fix problems with "set -e" for real; from oksh,
Closes: #518359
- [tg] In "set -o posix" mode, have limited echo(1) to improve
standards compliance; the exact feature set is open for discussion,
e.g. with pkgsrc® people; for now, only -n as first arg
- [tg] Make test builtin operator precedence consistent; from oksh
- [tg] Revamp and fold and enhance the regression tests
- [tg] Document somewhat surprising behaviour in mksh(1) better;
here: [ x -eq y ]; for gps23 from #ksh
- [tg] Reduce memory consumption by allocator simplification
- [tg] Fix bugs spotted by DEC ucode cc (ULTRIX) and gcc 1.42 (BSD/OS)
- [laffer1] Make mksh the default /bin/sh in MidnightBSD
* debian/rules: add support for applying patches to the source code
* debian/rules: build with new ‘-combine’ option for better optimisation
* Fix debconf checks if dash is uninstalled; Closes: #518355
* Use 「--package mksh」 consistently with dpkg-divert
* debian/control: update package description
* Upgrade Standards-Version to 3.8.1
- debian/rules: support nocheck in DEB_BUILD_OPTIONS
- debian/control: add RCS Id as comment field
* debian/source.lintian-overrides: add (things not deemed fixable)
- package-uses-deprecated-debhelper-compat-version (who cares)
- vcs-field-uses-not-recommended-uri-format (source is available
via AnonCVS, but pserver must die!)
* debian/control: prepend :ext: anoncvs protocol to VCS-CVS field
.
mksh (36.2-1) unstable; urgency=low
.
* Reword package description, avoid things not of interest to
a Debian user; Closes: #505882
* Switch from patching copyright to merely prepending information
* Remove all patches, as they have been integrated upstream; add
‘-DMKSH_BINSHREDUCED’ to CPPFLAGS to enable the functionality
* New upstream version; complete ChangeLog:
- [tg] Add check for naming the output file “scn” instead of “a.out”
or “a.exe” when compiling scn.c, for Haiku, from Adam “replaced” Hoka
- [tg] Rewrite utf_backch macro and x_bs2 function into a combined
x_bs3 function for the Emacs editing mode, to optimise them and get
rid of the use of __typeof__ (suggested by Anders “ragge” Magnusson
after the problem was spot by replaced) and one of the uses of the
statements-as-expressions feature
- [ahoka] Add mirtoconf check for nice(3), missing on Haiku
- [tg] Remove all uses of the statements-as-expressions feature by
rewriting the source code accordingly and optimising some parts
- [tg] Recognise nwcc (Nils Weller’s C compiler) in Build.sh
- [tg] If <strings.h> exists, pull it in for strcasecmp(3)
- [tg] Welcome QNX/Neutrino; work around broken /bin/ed
- [tg] Simplify, shorten, speed up PS1 in dot.mkshrc
- [tg] Remove some dead code courtesy of scan-build native runs
- [tg] Add some casts to prevent LLVM+Clang warnings
- [tg] Work around llvm-gcc-4.2.1 -Wformat pickyness
- [tg] Add new Build.sh option ‘-llvm’ (clang, llvm-gcc)
- [tg] Speed up mirtoconf if ‘-DMKSH_ASSUME_UTF8’ is set
- [tg] Add the workaround for Debian #492377 into the main mirtoconf
function (hiding gcc errors during the configure phase) because
Gentoo has similar scanner issues; reported by Hanno Böck
- [tg] If an MKSH_SMALL has arc4random(3), skip the rand(3)/srand(3)
fall-back altogether to shrink size, also removed need for time(3)
- [tg] Fix alias expansion recursion check if the word to be expanded
is immediately followed by end of input, add test case; spotted by
Michael Hlavinka in pdksh and mksh; RedHat #474115
- [tg] Fix string/wdstring confusion preventing bashiop (&>foo) to
work inside a function, add regression test, limit to 99 fds
- [tg] change regression tests to ‘set -U’ or ‘set +U̲ instead of
‘set -o utf8-hack’, as well as query using ‘$-’ ipv ‘$(set +o)’
(easier and more reliable)
- [tg] Add comment to regression tests which can fail on slow machines
or Cygwin environments due to timing issues
- [tg] Remove a lot of superfluous casts, improve type cleanliness
- [tg] Insert a couple of /* CONSTCOND */ for lint
* New source package and build structure:
- distfile is now packaged *inside* the orig tarball instead of repak-
kaged, similar to PostgreSQL
- debian/rules “patch” target takes care of it, as per Policy Manual
- debian-specific things (debian/ directory and all patches) are kept
in a publically accessible CVS repository
- VCS-CVS and VCS-Browser fields have been added to debian/control
- source is extracted to ./mksh and built, using relative paths to the
source code, in ./build/full and ./build/small; both are .cvsignore’d
- most files now carry an RCS ID
- paths in mksh.install, mksh.manpages, rules have been adjusted
* word-wrap debian/control lines to 80c
* add build dependency on cpio (for distfile extraction)
* for non-pbuilder testsuite runs (needed on gnubber), rename the ./manual
file tested for to ./attended to clarify its purpose
* debian/rules: share code instead of duplicating it
* debian/rules: fix testsuite use of $? and $x (gmake wants $$? and $$x)
* debian/rules: use sensible stamp files and new paths, coming along with
the new “patch” target
* remove the ‘-Q’ option from Build.sh invocation, which is gone
Override entries for your package:
Announcing to backports-changes@lists.backports.org
Your package contains new components which requires manual editing of
the override file. It is ok otherwise, so please be patient. New
packages are usually added to the override file about once a week.
You may have gotten the distribution wrong. You'll get warnings above
if files already exist in other distributions.
Reply to: