New features with AN-2016-06-28: This is the first localization step for the schily source consolidation. Many programs now (hopefully) call gettext() for all strings that need localization. - The next step will include dgettext() calls for the libraries and the missing programs - The following step will include the extracted strings - The last step will include German translations and install support for the resulting binary message object files. ----------> Please test and report compilation problems! <--------- ***** NOTE: As mentioned since 2004, frontends to the tools should ***** ***** call all programs in the "C" locale ***** ***** by e.g. calling: LC_ALL=C cdrecord .... ***** ***** unless these frontends support localized strings ***** ***** used by the cdrtools with NLS support. ***** *** WARNING *** *** Need new smake *** *** Due to the fact that schily-tools 2014-04-03 introduced to use new macro *** expansions and a related bug fix in smake, you need a new smake *** to compile this source. To ensure this, call: cd ./psmake ./MAKE-all cd .. psmake/smake psmake/smake install WARNING: the new version of the isoinfo program makes use of the *at() series of functions that have been introduced by Sun in August 2001 and added to POSIX.1-2008. For older platforms, libschily now includes emulations for these functions but these emulations have not yet been tested thoroughly. Please report problems! The new smake version mentioned above is smake-1.2.4 - patch: implement some workarounds in our testsuite for bugs in /usr/bin/patch from FreeBSD that is used in a randomized compare test between spatch and the local patch. The current conclusion from this test ist that our spatch is the only patch implementation without known bugs. gpatch always missbehaves when fed from "diff -U0" output. BSDpatch always missbehaves when fed from "diff -e" output. - SCCS testsuite: fixed a bug in the new SCCS history format test. The script still used the hardcoded "joerg" even though there was a variable with the logname already. - Bourne Shell testsuite: Fixed a typo bug in a shell script. The file sh/tests/shelltests/error/error.sh contained a "O" instead of a "0". - Bourne Shell: fixed a bug introduced with the last release: "exec 5>file" did close fd #5 instead of keeping it open. - Bourne Shell testsuite: Added a test to check whether "exec 5>file" works together with "echo bla 1>&5". - Test suite control software: Added a workaround for a dash bug in "echo". Dash stops at null bytes and does not print them. - Test suite control software: Now defines a simple "seq" function in case that there is no such command. This is needed on OS X - Test suite for patch: Accept /usr/bin/awk if this is a nawk - needed for OSX - Test suite control software: Fixed a typo that used "test x -eq y" where "x" could be a string instead of a number. We now use a string compare with "test x = y". - Star: star in "-dump" mode and when using the FIFO did overwrite the tar header for a file with the POSIX.1-2001 extended tar header for efficiency. This unfortumately did overwrite data that was later used by: star -c -dump -vv for the verbose listing and caused username/groupname to be "root". We no longer allocate the PTB from the FIFO buffer in this case and introduce a minor performance penalty when using "star -c -vv". - Star: now calling strlcpy() instead of strcpy() when copying CPIO file names as CPIO has no checksum and may observe rotten archives. Thanks to Hanno Böck for the report. - Star: Only check CPIO-BIN filenames for swapped bytes when the filename would fit into a 512 byte header. Cpio officially only support 256 bytes in the filename. In theory 65k is possible but with star -no-fifo, we only have 10k to check. Thanks to Hanno Böck for the report. - Star: Abort with CPIO-BIN archives when the symlink target name size is seen as a number <= 0 in the cpio header. This avoids a core dump from rotten CPIO archives. Thanks to Hanno Böck for the report. - Star: When using the outdated signed checksums, star could incorrectly assume that a block o characters that sums up to 0 is an EOF block. Star now defines such a block as a potential EOF block and repeats the the computation using unsigned chars to verify whether it really is an EOF block. Thanks to Heiko Eißfeldt for the report. - Bourne Shell Missing features for POSIX compliance: - Do not list functions when calling "set" with no arguments. Note that this POSIX requirement is seen as a POSIX bug as there is no POSIX command to list function definitions. NOTE that this will not be implemented before POSIX bug http://austingroupbugs.net/view.php?id=1025 was fixed. - A POSIX whitepaper at: http://www.unix.org/whitepapers/shdiffs.html claims that: IFS=o; violet should not execute "vi". The normative text in the POSIX standard describes the historic Bourne Shell behavior, but the rationale describes the deviating behavior from "ksh". - Support for $'...' quoting (this is not needed for the current version of POSIX but for the next POSIX version that will be SUSv8) We are getting very close to full POSIX support. - Bourne Shell further TODO list: - Try to make lastline= while read line do lastline=$line done < /etc/passwd echo "lastline=$lastline" print the last line of /etc/passwd without the exec "trick" that is documented in the man page. - Finish loadable builtin support. - POSIX does not allow us to implement ". -h", so we will add a "source" builtin to be able to implement "source -h" - The following builtins (that are available in bsh) are still missing in the Bourne Shell: err echo with output going to stderr glob echo with '\0' instead of ' ' between args env a builtin version of /usr/bin/env The following bsh intrinsics are still missing in the Bourne Shell: - the restricted bsh has restriction features that are missing in the Bourne shell. - source -h read file into history but do not excute and probably more features not yet identified to be bsh unique. Author: Joerg Schilling D-13353 Berlin Germany Email: joerg@schily.net, js@cs.tu-berlin.de joerg.schilling@fokus.fraunhofer.de Please mail bugs and suggestions to me.