schily 2017-04-26

The "Schily" Tool Box is a set of tools written or managed by Jörg Schilling. It includes programs like: cdrecord, cdda2wav, readcd, mkisofs, smake, bsh, btcflash, calc, calltree, change, compare, count, cpp (K&R original), cstyle, devdump, hdump, isodebug, isodump, isoinfo, isovfy, label, man2html, mt, p, POSIX patch, sccs, scgcheck, scpio, scut, sdd, sfind, sformat, smake, sh/bosh (Bourne Shell), spaste, star, star_sym, strar, suntar, gnutar, tartest, SunPro Make (dmake), termcap, and ved.

Tags software development build tools utilities
License CDDL
State development

Recent Releases

2017-04-2626 Apr 2017 10:46 major feature: Many new autoconf tests to support Solaris on ARM and SunPro Make. The SunPro Make sources have been added and enhanced to support parallel compilation (currently working on Solaris and Linux). Added a method to skip C++ based sub-projects in case the system does not include a C++ compiler. README.compile now has a better documentation for using the Address sanitizer. SCCS now forwards the -o option (original date) to more tasks and thus "sccs delget -o" will set the timestamps of all related files as well. strar: now links against -lintl to allow compilation on FreeBSD.
2017-03-3030 Mar 2017 09:37 major bugfix: README.compile was updated to mention how to compile with Address Sanitizer and American Fuzzy Lop. libschily::comexit() now frees the entries and thus avoids warnings from the Address Sanitizer. Cdda2wav: The option -vall no longer clobbers the out-fd=# option in 64-bit binaries. Cdda2wav: Some workarounds for the illegal buffering for "stderr" on Linux. Bourne Shell: an interactive "cat
2017-03-0808 Mar 2017 15:42 major bugfix: README.compile was updated and made more readable. star: The NFSv4 ACL format was redesigned to be more compact. SCCS: get no longer dumps core while using "get -A" wich more than file. SCCS: sccs no longer dumps core when calling "sccs -R unedit" with more than one file affected.
2017-02-0808 Mar 2017 15:41 major bugfix: README.compile was updated and made more readable. star: The NFSv4 ACL format was redesigned to be more compact. SCCS: get no longer dumps core while using "get -A" wich more than file. SCCS: sccs no longer dumps core when calling "sccs -R unedit" with more than one file affected.
2017-02-1616 Feb 2017 13:59 minor feature: libschily: added a missing null-byte to the filename in opendir() emulation for Win-DOS. libstreamar: A new library for StreamArchives. Bourne Shell: Fixed a bug with the libshedit interface. SCCS: "sccs get SCCS" no longer suppresses keyword expansion when the 's' was set. Various typo fixes in man pages. strar: new command based on libstreamar.
2017-01-3030 Jan 2017 13:56 major feature: Enhanced libshedit enhanced to allow full support for POSIX "user portability". Bourne Shell: the fc command is now fully POSIX compliant. star: a buf with "star -r" and "star -u" has been fixed. star: A basic version of a test suite has been added. SCCS::diff: fixed a coredump with "diff -u dir1 dir2" and a few other fixes.
2017-01-1717 Jan 2017 15:44 major feature: Autoconf now detects incompatible Cygwin interface change with ACLs. cdrtools version bumped to 3.02a07. mkisofs no longer needs -no-cache-inodes to make -duplicates-once work on UNIX. star: The string conversion from the POSIX.1-2001 extended header SCHILY.filetype has been speed up. Bourne Shell: the "fc" builtin has been implemented for completeness of the optional POSIX user portability extensions.
2016-12-1414 Dec 2016 14:19 major feature: libxtermcap is now compiled before libshedit to allow to compile a shared version of libshedit. SCCS sccs: Permit new diff options: -q -a -B -N -p mkisofs: New option -isort behaves like -sort with ignore case. mkisofs: new option -hide-ignorecase allows to ignore case with the -hide* options and with -exclude-list mkisofs: New option -no-allow-lowercase allows to clear -allow-lowercase from macro options. mkisofs: New option -duplicates-once to hard link identical files even on non POSIX platforms. star: Linux xattrs are now set after chown()
2016-11-1717 Nov 2016 12:04 major feature: libschily: New interface movecbytes() similar to memccpy(). libschily: fgetline()/fgetstr()/getdelim() speedup from using movecbytes(). diff: added a check wether a specific malloc() returned NULL diffh: Now supports lines of arbitrary length via getdelim() bdiff: Now uses getdelim() and supports binary data. SCCS test suite: the compatibility of bdiff(1) and delta(1) is now checked with a random file modification test. hdump/od: od -A n no longer prints a stray TAB in the last line. mkisofs: find_hash() has been changed to prepare a future option -duplicate-once Bourne Shell: avoid a race condition with set -C and creating files. Bourne Shell: "sh -c -- command" now works.
2016-10-2727 Oct 2016 13:23 major feature: libschily: enhance man page for getargs() mkisofs: make graft points with ./ or // work on Mac OS X mkisofs: make -no-cache-inodes be always present again diff: diff -r now works recursive instead of using fork()/exec() diff: diff -r now up to 16x faster than Solaris diff and up to 2x faster than GNU diff Bourne Shell: cd without option now defaults to -L when in POSIX mode.
2016-10-1111 Oct 2016 13:36 major feature: mkisofs: Mkae it compile again without #defining USE_FIND APPLE_HFS_HYB APPLE_HYB UDF DVD_AUD_VID mkisofs: print more people's names with mkisofs -version patch: Added a workaround for CVE-2015-1416 patch: added support for an "ed" workaround in diff(1) diff: Added support for the -a option diff: Added support for the -p option diff: Added support for the -q option diff: Added a workaround for an "ed" problem with diff -e
2016-09-2829 Sep 2016 10:04 major feature: Bourne Shell: Fixed a bug with IFS field splitting with read(1) that was introduced with the attempt to make it POSIX compliant. Bourne Shell: The shell has been verified to work as system shell (/sbin/sh) on OpenSolaris after fixing three ksh-isms in system scripts. bsh: Fixed a bug with chained commands introduced by the change to use waitid().
2016-09-1818 Sep 2016 16:20 major feature: Bourne Shell: "history" is now interruptable by C. Bourne Shell: an interrupted edited command line no longer stops TAB file name expansion. bsh/libshedit: The POSIX vars HISTSIZE and HISTNAME are now supported in bsh and Bourne Shell. Bourne Shell: set -a now affects all modified variables, including those set by getopts(1). Bourne Shell: PWD is now initialized at startup as required by POSIX. Bourne Shell: man page now mentions the variable BEEP. cstyle: prevent to flag extern declarations that use more than a single line. patch: -Wv and -Wversion now work in all modes (including strict POSIX mode) to get a version number printed.
2016-08-0304 Sep 2016 09:54 major feature: Star: Support for NFSv4 ACLs on FreeBSD was added. Bourne Shell: introduce variable expansion for PS1 and PS2. Bourne Shell: a new option "set -o promptcmdsubst" (for security reasons) allows to switch on command substitution and arithmetic substitution for PS1, PS2, and PS4. Bourne Shell: Print PS4 before a variable assignment when in "set -x" mode. Bourne Shell: Modified the lexer to permit newlines in strings for POSIX command substitution. Bourne Shell: changed the code to avoid problems with GCC and strict aliasing. Bourne Shell and bsh: popd now always prints the new directory. Bourne Shell: a new archive dotfiles.tar.bz2 is provided with sample dotfiles for the Bourne Shell.
2016-08-1919 Aug 2016 12:46 major feature: libshedit: C is now a supported special char to interrupt, V is supported. Bourne Shell: Use C to longjmp before the next prompt to allow to escape the parser when it is in an unknown state. Bourne Shell: when expanding PS4, disable set -x to avoid an endless recursion. Bourne Shell: Fixed a bug from a too small environment array in locale handling. Bourne Shell: avoid to read and write "thisjob" after it has been free()d. SCCS: work around the problem with "tail" implementations that do not support "tail +2". SCCS: work around the problem with "touch" implementations that do not support "touch 0101000090 g". All: a new global target "cstyle" was added to allow automated C-Indentation-Style checks. calc/bsh/cdrecord: typo corrections.
2016-08-0808 Aug 2016 14:19 major feature: ved: clear a FILE * object after calling fclose() to avoid a core dump on Linux. ved: version bumped to 1.7-final Bourne Shell: May now be installed as Gentoo system shell Bourne Shell: Avoid a hang with the new optimized pipe model from December 2015. Bourne Shell: fixed a side effect bug from the rewrite of "test" in 2016-07-25. Bourne Shell: set -o posix may now be auto-activated when ever the past path component of argv 0 is "sh". Bourne Shell: "trap" may now catch SIGSEGV. Bourne Shell: do not list functions with "set" when set -o posix is in effect. Bourne Shell: "type -F" now lists all functions.
2016-08-0101 Aug 2016 12:42 major feature: libshedit: the name of the created lib is now "libshedit" instead of "libshelledit". Bourne Shell: some typos in the Makefile have been fixed. Bourne Shell: fixed a bug from 2016-07-06, make "read" work again with a single VAR argument. Bourne Shell: fixed a bug from schily-2016-07-25, make test 0 -eq 1 return FALSE again. Bourne Shell: set -u; echo " @" no longer returns an error with empty arg list. Bourne Shell: "case" no longer remembers the last exit code when no case label matches. Bourne Shell:fixed a bug in the local gmatch() implementation taken from FreeBSD. Bourne Shell: now prints an error message when a dup() fails with a I/O redirection. Bourne Shell: add a hack (similar to ksh88) for POSIX IFS handling. Bourne Shell: test suite enhanced.
2016-07-2525 Jul 2016 12:55 major feature: Cstyle: added original documentation from Bill Shannon Cstyle: added a workaround for a perl-5.22 incompatibility. Cstyle: do not flag "C++ comment" inside one line comment. Star: several small apparent (to the compiler) and two real buffer overflows have been fixed. Star: star -c -dump -vv no longer prints a wrong user name for files. Bourne Shell: Fix a parser bug introduced with (). Bourne Shell: Add a 100 POSIX mode with "set -o posix". Bourne Shell: "test" has been rewritten to be 100 POSIX compliant. Bourne Shell: a:- is now a single word - as POSIX requires. Bourne Shell: "printf" is now able to output nul bytes with the 'b' format.
2016-07-0607 Jul 2016 10:34 major feature: Star: several workarounds to prevent buffer overruns to happen with intentionally defective archive content. Bourne Shell: The "select" keyword from ksh is now supported. Bourne Shell: The new builtin command "local" is supported to allow recursive function calls. Bourne Shell: The "read" command now defaults to "REPLY" if a variable name is missing. Bourne Shell: A bug introduced by Sun Microsystems in the 1990s was fixed, it caused "readonly" unexported variables to be visible in called shell scripts.
2016-06-2828 Jun 2016 12:52 major feature: patch: implement workarounds for the testsuite to make it work on Linux, FreeBSD, OSX even though there are local OS bugs. SCCS testsuite: now also works on many more platforms. Bourne Shell testsuite: fixed some bugs that caused problems on Linux. Bourne Shell: fixed a bug from 2016-06-20 that caused "exec 5 file" to close the file instead of keeping it open. Star: star -c -dump -vv now prints the correct usernames and groupnames. Star: now avoids some buffer overruns with rotten CPIO archives. Star: no longer missinterprets some blocks as being nulled while using the outdated signed checksums.
2016-06-2020 Jun 2016 13:16 major feature: Automated tests for SCCS patch and the Bourne Shell are now usable via the command "make tests" at top level. conf/oarch.sh added a rule for AIX. cstyle now prints the actual line length for a too long line. cstyle not warns for files that do not end in a newline. Patch tests now work on Linux. SCCS: better man pages. SCCS: fixed a bug in diff on Linux, HP-UX and AIX. SCCS: fixed a bug from the GMT compile option from September 2015. SCCS tests now for the correctness of the base hisory format. Bourne Shell: fixed another bug from before 1980. Bourne Shell: break/cotinue 0 now cases a nonzero exit code. Bourne Shell: getopts now sets name to ? in case of an error. Bourne Shell: test now honors the modified POSIX semantics. Bourne Shell: error handling now more frequently causes a shell exit to be POSIX compliant. Bourne Shell: since less than 25 percent of original code are inside, all code now was indented according to cstyle rules.
2016-06-0708 Jun 2016 09:27 major feature: Bourne Shell: variables with negative values now work in arith expressions. POSIX command substitutions with subshell work again and "whatshell" is usable again. Conditional expressions (?:) now use implicit parenthesis and permit nesting. Chain variable assignments now work. Post incr/decr now work with nested expressions. Arithmetic expressions now may contain newlines. Two 35 year old AT T bugs have been fixed: cat 0
2016-05-2424 May 2016 14:13 major feature: Bourne Shell: The POSIX arithmetic expansion ((expr)) added support for variable assignment, prefix/postfix increment/decrement of variables, the conditional operator and the comma operator and thus is now 100 percent ready. Bourne Shell: The shell should now be completely POSIX compliant.
2016-05-1818 May 2016 12:47 major feature: Bourne Shell: The POSIX arithmetic expansion with ((expr)) is now 80 percent ready. Bourne Shell: The automated tests have been enhanced. Bourne Shell: LC_NUMERIC is now supported and the character to delimit second fractions is now the locale specific character. Bourne Shell: Some performance enhancements with multi-byte characters and resetting temporary shell variables have been introduced. Test system: a test for an exit code !=0 has been added. bsh: bsh -version now prints 2006.
2016-04-2828 Apr 2016 12:40 major feature: libgetopt: a man page was added. Bourne Shell: writes no longer warnings about exported functions as any name now could be a variable as well. Bourne Shell: 32 bit integer overflow with CPU time percentage fixed. Bourne Shell: I/O redirect errors do not longer terminate a script when this happens with a builtin command. Bourne Shell: String manipulation now works in double quotes as well. Bourne Shell: several new conformance tests added.
2016-04-1113 Apr 2016 09:15 major feature: Bourne Shell: The syntax tree binary to text converter was reworked to permit the parser to understand the outpout. This makes it now improbable that POSIX command substitution will fail where backticks work. Bourne Shell: As a reaction on POSIX bug #947, we again tread an exit(256) as TRUE in the default mode. Bourne Shell: An automated compliance test suite has been added. star: Man page now mentions "star_sym" and "tartest" in SEE ALSO. libgetopt: use dgettext() instead of gettext().
2016-04-0505 Apr 2016 10:03 major feature: Bourne Shell: bosh -i now also sets -o ved. Bourne Shell: "set --" now clears the argument list to be POSIX compliant. Bourne Shell: echo 10 now works to be POSIX compliant. Bourne Shell: a() ls; now correctly prints the command. Bourne Shell: A typo in the lexer caused a global variable not to be restored with (). bsh: Now also uses waitid() and returns all 32 bits from exit(). bsh: getrusage() emulation now also supports procfs2 and times(). libedc_ecc_dec: Now avoids an array out of bounds access. libshedit: the portability methods have been changed to support clang on Solaris while not failing on Linux and Mac OS X. libschily: A new function js_dprintf() was added. autoconf: some m4 macros have been rewritten to speed up things.
2016-03-1111 Mar 2016 10:40 major feature: A new autoconf test checks for struct dirent- d_type and libfind makes sfind now 1.2x faster than GNU find on Linux. libshedit: a clang workaround for Solaris caused problems on other platforms and thus has been reverted. star -copy -find now works. star find now permits -C directory. star now sets locale and this way makes -find work on multibyte locales. Bourne Shell: a fix for a global variable problem with (cmd) was introduced. Bourne Shell: "PATH=something command" now resets hashing after the end of command. Bourne Shell: Field separation with "read" is now POSIX compliant.
2016-03-0202 Mar 2016 10:58 major feature: README.compile now mentions clang. libschily: a bug in getargs was fixed that caused problems with od(1). Some clang workaround have been added for Solaris. cdda2wav: Many small rewrites from Heiko Eißfeldt to reduce the scope of variables. Bourne Shell: Empty commands in the form: ";" or ";echo" are now allowed. Bourne Shell: A fix for a global variable makes a shell script from the dash mailing list work correctly.
2016-02-1010 Feb 2016 11:29 major feature: smake: make.c removed a stray ' '. libschily/cvt.c: Removed a superfluous comparison. mkisofs/mac_label.c: fixed a file descriptor leak. star/acltext.c: fixed a memory leak. Bourne Shell: PATH IFS PS1 PS2 MAILCHECK may now be unset. Bourne Shell: added "apropriate" quoting for the "set" output. Bourne Shell: Tilde expansion is now fully supported. Bourne Shell: Only arithmetic expression support is missing for full POSIX compliance.
2016-02-0202 Feb 2016 12:47 major feature: libschily: Better man pages format.3 getallargs.3 getargs.3 getfiles.3 patcompile.3 cdrtools: bumped to 3.02a06 cdrtools: man pages now document the new libscg option "scgopts=" Bourne Shell: Command Substitution with (cmd) now works. Bourne Shell: funtion definition listings now are correct for the case stament (esac was added).
2016-01-2525 Jan 2016 13:48 major feature: libschily: fprformat.c now speeds up out printf() on all platforms instead of just Solaris and avoids unbuffered output on stderr. A new libscg specific option scgopts= has been introduced to all users of libscg in order to be able to work around a Linux kernel bug. Bourne Shell: cd/pwd/dirs/pushd/popd now all support the POSIX -L / -P options, though -P is the default for security reasons and for compatibility with the Bourne Shell from 1989 'till now. Bourne Shell: The "alias" now supports -raw as well as --raw.
2016-01-1818 Jan 2016 11:20 major feature: Schily.Copyright dates updated. cdrtools bumped to 3.02a05. mkisofs now always created correct files 4 GB in ISO-9660 - even with -sort. libscg lo longer interprets unknown error codes on Linux as timeout. Bourne Shell: ? is now printed as signed int as exit(2) has a signed int parameter and POSIX requires waitid() to deliver a full signed int. Bourne Shell: The builtin command "command" was added for POSIX compliance. Bourne Shell: Missing parameter substitution methods (like substring) have been added for POSIX compliance.
2015-12-3030 Dec 2015 18:32 major feature: Schily.Copyright dates updated. cdrtools bumped to 3.02a04. libschily/searchinpath.c now avoids a memory leak on platforms without getexecname(). libmdigest mdigest: sha3 entry functions renamed to match other names. libmdigest: the shared library mapfile now includes the sha3 functions. mkisofs: avoid coredumps and endless loops with rotten ISO images in multi session mode. mkisofs: fixed a bug with multi extent files and -sort. Bourne Shell: Command substitution (`cmd`) now also honors the set -o fullexitcode settings for the exit code. Bourne Shell: The debug code that is enabled with COPTX=-DPARSE_DEBUG now also prints the parsed tree from `cmd`. Bourne Shell: The symbol "!" is now a reserved word to logically NOT the exit code of a following program. Bourne Shell: POSIX compliance: permit an optional "(" before patterns from case constructs. Bourne Shell: support for the reserved word "time" was added. Bourne Shell: A bug in kill(1) option parsing introduced with 2015-12-16 was fixed. Bourne Shell: kill(1) is now POSIX compliant and supports "-s sig".
2015-12-1616 Dec 2015 10:32 major feature: libschily: The ast*() type functions now support to convert "minint" and set ERANGE on overflow. libgetopt now supports single dash long options (the native UNIX long option method). cdda2wav: new local autoconf code from Heiko mkisofs: support for DVD-Audio was added. Bourne Shell: all builtins that need to follow POSIX utility syntax guidelines not do so and support "--" and "-help". Bourne Shell: a bug in the job control code from 1989 (AT T) that caused aborts with long command lines was fixed. Bourne Shell now documents which features are still missing for POSIX compliance.
2015-12-0909 Dec 2015 11:45 major feature: mkisofs/diag/*.c add directory loop recognition and rotten media to avoid endless loops. mkisofs: honor -omit-version-number with stream media filename. mkisofs: fix a directory length bug with stream media. Bourne Shell: Work around a waitpid() problem on AIX introduced with 2015-11-26. Bourne Shell: printf builtin added. Bourne Shell: echo now supports backslash-a. Cdrtools bumped to 3.02a03. Better autoconf support for AIX. 64 Bit support for GCC on AIX added (tested) and cc (untested). Added new files RULES/os-mingw32_nt-6.*.id.
2015-11-2626 Nov 2015 13:55 major feature: libmdigest and mdigest now support sha3 checksums. Mkisofs now writes two identical UDF volume descriptors. New autoconf tests for Haiku and for non-SVID3 compliant OS (like Linux and NetBSD). Bourne Shell now compiles on NetBSD. Bourne Shell now correctly tries to avoid szombies with the new pipe parser. Bourne Shell fixes a bug with jobcontrol and the new pipe parser.
2015-11-2121 Nov 2015 14:20 major feature: Cdrtools have been bumped to 3.02a02. Minix support was added. A workaround for a termios.h problem on BSD with the ioctl() prototype was added. Bourne Shell: - works again. Bourne Shell: A workaround for a Linux 2.6.18 kernel problem with tcgetpgrp() and jobcontrol was added. Bourne Shell: fixed some bugs related to the new pipe handling.
2015-11-1213 Nov 2015 10:50 major feature: Support for Minix and Bitrig was added to config.guess. isoinfo works around a directory permission problem from "mkisofs -r". isoinfo now supports to follow relocated Rock Ridge directories. Bourne Shell: the parser was rewritten to make the shell the parent of all processes from a pipe and to allow "echo bla / read var" to set "var" in the main shell. Bourne Shell: jobs -p now correctly reports the job's process group. bsh: some Minix fixes. Star now flushes the verbose file stream at the end.
2015-11-0505 Nov 2015 12:28 major feature: Cdrtools bumped to 3.02a01. Added Support for the BSD "Bitrig" distro. SCCS: the command prs(1) again compiles with smake COPTX=-DGMT_TIME. SCCS: add list of compile time optione to sccs/README.SCCS. libfind: find -mtime +2s -mtime +20s now works. Bourne Shell: compiles again on FreeBSD. Bourne Shell,bsh,ved: map Backspace to DEL if terminal definition mentions backspace key that emits BS. Bourne Shell: the "alias" and "unalias" now cause exit code != 0 for POSIX documented errors. Bourne Shell: A command like sh -c "echo foo " now prints a syntax error message. Bourne Shell and bsh: pgrp now also prints the tty session group id. Bourne Shell and bsh: pgrp now uses ioctl() to avoid permission problems with POSIX functions.
2015-09-1616 Sep 2015 11:26 major feature: Bootstrapping now also works automated on *BSD as "Makefile" now refers to the script-based boootstrap and "Makefile" was renamed to "SMakefile". The "configure" hang that results from a bug in recent Cygwin versions is circumvented by avoiding the specific test on Cygwin. Cdda2wav now works suid root on NetBSD by fixing the setuid() call. Bourne Shell: The trap builtin is now POSIX compliant. Bourne Shell: A bug with shell variable handling while using vfork() was fixed. Bourne Shell: Variable assignement that precede a normal builtin no longer affects the variables in the main shell process. Bourne Shell: many builtins no longer exit the whole shell script when a utility syntax error or a fatal error is encountered. This is POSIX. Bourne Shell: Support for the POSIX shell variable PPID= was added. Bourne Shell: Partial support for the POSIX LINENO= was added. Libfind no longer destroys the localization in the shell as libfind now uses dgettext() instead of gettext().
2015-09-0303 Sep 2015 13:28 major feature: Bourne Shell: New options set -o bgnice, set -o ignoreeof, set -o notify. Bourne Shell: Support for export/readonly -p name=value was added. Bourne Shell: Fixed self-made bug with "(exec ps)" and added a workaround to have the same problem as a result from a deficit in the Linux Kernel. Bourne Shell: unset now supports the options -f / -v. Bourne Shell: getopts(1) now supports "long-only" options. Bourne Shell: the method from the history editor to deal with multi line commands now also works for the Bourne Shell. bsh / Bourne Shell: fixed a bug in the history editor that caused a core dump from reading lines from the history that are longer than 512 chars.
2015-08-2727 Aug 2015 12:03 major feature: Cdrtools was updated to V3.01. Fixed an old typo S_IFCNT to S_IFCTG. Bourne Shell: the computation of the CPU percentage now works even if the times are below 1ms. Bourne Shell: cd dir*/ now works as expected. bsh and Bourne Shell: .globals and .locals are now only read if they are not a symlink. Bourne Shell: many new test(1) features make test(1) POSIX compliant and introduce features beyond what ksh and bash do. Bourne Shell: file now opens the file with O_APPEND. Bourne Shell: set -C or set -o noclobber are now supported. Bourne Shell: exec -a argv0 cmd args... is now suppored.
2015-08-1818 Aug 2015 11:20 minor feature: libfind: added a workaround for a GCC compiler bug that caused core dumps with -exec. Bourne Shell: The built-in timing for commands now supports the variable TIMEFORMAT and more members from getrusage(). Bourne Shell: A bug with export related to vfork() was fixed.
2015-08-1212 Aug 2015 09:28 minor bugfix: Fixed a bug in the option parser that caused the Bourne Shell to exit after a command with non-zero exit code after calling "set -o hostprompt".
2015-08-1111 Aug 2015 10:27 major feature: Cdrtools bumped to version 3.01a31. Added support for Win-10 with non automake-aware make programs like GNU make. Spaste was modified to follow POSIX bug #973. man2html was added to the schilytools suite. Bourne Shell: #-commands have been added to allow comfortable editing of complex aliases. Bourne Shell and bsh: Added code to prevent a coredump from division by zero with the "@" builtin. Bourne Shell manpage now mentions that unlike bash or ksh, the Bourne Shell implements parameterizable aliases. Bourne Shell: set -o hostprompt enables a bsh like default prompt. Bourne Shell: Support for the POSIX PS4 string was added. bsh: fixed a memory leak with #-commands. Bourne Shell: reading the history and the cursor maps is now done buffered. ved: The man page no longer makes man2html believe that some overview tables are headlines.
2015-08-0303 Aug 2015 11:07 major feature: Cdrtools bumped to version 3.01a30 plus some minor bugfixes. README.compile now contains a better example for Android compilation. Libshedit (the command line history editor from 1982) fixed some name space problems that apply to static linking. diff now prints POSIX compliant time stamps on AIX and HP-UX. bsh and Bourne Shell added new ulimit/limit limit names for FreeBSD and Linux. Bourne Shell added a new builtin command "builtin". Bourne Shell added a new builtin "find". Bourne Shell now supports ksh exit codes 126/127. Bourne Shell added new .sh.codename values NOTFOUND and NOEXEC. Bourne Shell: "type" now reports reserved words as well. Bourne Shell: A new builtin "@" now speeds up computations in scripts. Bourne Shell: "sync" is now a builtin. Bourne Shell: New builtin "pgrp". Bourne Shell: New builtin "killpg". Bourne Shell: New builtin "errstr". Bourne Shell: "suspend" now works better. Bourne Shell: tilde expansion was added. Bourne Shell: more flags (now 120) are suported for future enhancements in "set(1)". Bourne Shell: "set -o fdpipe" now allows stderr pipes. Bourne Shell: "set -o fullexitcode" no longer masks ? with 0xFF. Bourne Shell: Builtin "times" now uses getrusage() instead of times() and increases resolution. Bourne Shell: "set -o time" now allows to enable default timing for all foreground commands. bsh and Bourne Shell: tilde expansion now works in the history editor.
2015-07-0707 Jul 2015 09:55 major feature: The Bourne Shell finished integration for support for full 32 bit exit codes. The Bourne Shell is the first shell to support the unmasked exit code on modern UNIX systems via .sh.* readonly variables, .sh.signo and .sh.signame is set to the signal that causes execution of a trap(1) command. The Bourne Shell also added .sh.shell and .sh.version. Bourne Shell: ulimit now prints option names to make it usable. Bourne Shell: kill -l signo now works (POSIX). A new autoconf test was added to check for working linker support for weak symbols. This allows to work around a Cygwin bug.
2015-06-2424 Jun 2015 10:44 major feature: Configure now correctly deals with broken waitid() on non-POSIX platforms such as Mac OS X. Bourne Shell: the wait procedure was converted from waitpid() to waitid(). This allows to get the full 32 bits from the exit(2) parameter of the terminated child if run on a POSIX compliant platform. The related value is in variable "exstatus". Bourne Shell: On POSIX platforms variable "?" no longer contains 0 but 128 when exitcode 0xFF == 0. Bourne Shell: again handles sh -ce command correctly when the builtin "false" is used. Bourne Shell: "times" no longer prints wrong second values as a result of a mistaken round-up. Bourne Shell: "exit" now permits negative exit values. Fixed a typo in schily/wait.h that affected Haiku. The "cstyle" program is now included. The "scut" program is now included. The "spaste" program is now included.
2015-06-0404 Jun 2015 10:50 minor feature: POSIX patch now uses a one clause BSD license - thanks to Larry Wall. POSIX patch now by default uses reduced verbosity and allows to go back to the historic verbosity with -vv. POSIX patch now includes the first version of a unit test. The Bourne Shell man page now better describes the effects of parameter substitutions. Change now supports lines of arbitrary lengths. Cdrtools have been bumped to 3.01a29.
2015-05-1919 May 2015 08:46 minor feature: libschily now contains a getdelim() implementation. libschily: *mem.c may now have user defined exit() code. Various forgotten entries in various linker map files have been added. POSIX patch no longer has artificial limits and now permits lines of arbitrary length. POSIX patch no longer dumps core when out of memory. POSIX patch now conforms to the POSIX exit code list. POSIX patch now follows the POSIX filename determination rules. POSIX patch now has new options -W+ -Wposix and -Wall. POSIX patch now passes extensive automated tests. POSIX patch now reports version 3.0.
2015-05-0606 May 2015 12:46 minor feature: Trying to always use W*() macros for wait(2) status. Initially publish old man pages for libschily. Libfind fixed a bug in the idcache implementation. Star now again correctly deals with non-null-terminated user/group-names on old star archives. Many bug-fixes for the POSIX patch implementation. A bug-fix for the Solaris based diff(1) with -U0. SCCS now passes all regression tests on Haiku except for the ones caused by a localtime() bug in libc on Haiku.
2015-04-2424 Apr 2015 10:49 minor feature: The Bourne Shell and SCCS now work on Haiku. The problem was UNIX incompatible signal numbering and a different bit-ordering in the wait(2) status that was not address by historic UNIX code. A new program isaexec(1) was added. Isaexec is an attempt to write a portable version of the Solaris isaexec program.
2015-04-1616 Apr 2015 10:44 minor feature: Support for Haiku on x86-64 was added. Some bug-fixes and speedups for smake have been introduced. bsh/wait3.c now returns pid_t - report if this causes problems with UnixWare. bsh and Bourne Shell now write HOME /.globals and .locls with mode 0600 and do not read them in case that other people have write access to that files. The Bourne Shell now supports to specify options in more than one argument. The Bourne Shell now supports "set -o vi" and "set -o ved". Fixed a bug in libgetopt that could cause a SIGSEGV in the Bourne Shell in case that getopts(1) was used incorrectly.
2015-04-0808 Apr 2015 10:13 minor feature: Several fixes in the Bourne Shell (mainly for bugs introduced with vfork() support and the portability change sbrk() - malloc()) discovered by Heiko Eißfeldt. CPP now supports the environment SUNPRO_DEPENDENCIES.
2015-03-3030 Mar 2015 15:00 minor feature: smake version bumped to 1.2.5 cdrtools version bumped to 3.01a28 Support for ARM-64 (aarch64) was added. The /man directory is now created early to avoid it to be created as root when calling make install. libdebugmalloc is now usable with the Bourne Shell. Several Bugs in the Bourne Shell fixed, thanks to Heiko Eißfeldt
2015-03-1616 Mar 2015 10:38 minor feature: The key SCCS programs admin, delta, get have been enhanced to support the upcomming project mode. The next step will enhance the program sccs(1) and give basic functions for the project mode. Smake fixed several bugs that are triggered when using unusual makefiles.
2015-03-0303 Mar 2015 11:30 minor feature: SCCS has been enhanced and is now close to a state that supports whole projects instead of just single files. cpp now implements new options -M -noinclude -xuc -xsc. Several bugs in smake have been fixed that could cause smake to dump core. mkisofs: isodump no longer needs a C99 compiler. libdbgmalloc now verifies the whole heap for corruption when the program exits.
2015-02-1212 Feb 2015 10:50 minor feature: Cpp no longer has static limits for macro string space and the number of macros. The install make rules for man pages and scripts have been corrected to avoid perpetual overwriting. SCCS admin -N no longer writes corrupt checksums if a previous file was uuencoded. "sccs -R clean" no longer prints many "file not found" messages. SCCS sccs has been restructured to prepare the upcomming project support. Several small fixes in the SCCS library to prevent buffer overflows.
2015-01-2929 Jan 2015 11:34 cleanup: SCCS was bumped to version 5.07. The SCCS get command now implements an experimental option -A that annotates the gotten lines with programmer names and dates. Diagnostic mkisofs helper programs like "isoinfo" first check for the existence of Rock Ridge date before trying to access that data.
2015-01-0126 Jan 2015 17:06 cleanup: Cdrtools documentation updated to mention sourceforge instead of berlios. Fixed a bug in star's pax CLI that caused spax -X to dump core. Thanks to Pavel Raiskup for reporting.
2014-09-1717 Sep 2014 13:50 cleanup: Fixed the support for "mkisofs -eltorito-platform Mac" to create correct El Torito entry. Added a workaround for a Linux libc bug in cdda2wav. Many fixes in the SCCS documentation. The SCCS man pages now document the previously undocmented NSE extensions. SCCS now by default automagically calls "help" for error messages that contain a SCCS error code applicable for "help". Fixed a bug in SCCSs urandom.c. Some small bug fixes in SCCS for SCCSv6 history files. The SCCS test suite now checks the code twice: once for SCCSv4 history files and another time for SCCSv6 history files.
2014-06-1212 Aug 2014 14:08 minor feature: