1New features with AN-2016-07-25: 2 3This is the first localization step for the schily source consolidation. Many 4programs now (hopefully) call gettext() for all strings that need localization. 5 6- The next step will include dgettext() calls for the libraries and the 7 missing programs 8 9- The following step will include the extracted strings 10 11- The last step will include German translations and install support 12 for the resulting binary message object files. 13 14----------> Please test and report compilation problems! <--------- 15 16***** NOTE: As mentioned since 2004, frontends to the tools should ***** 17***** call all programs in the "C" locale ***** 18***** by e.g. calling: LC_ALL=C cdrecord .... ***** 19***** unless these frontends support localized strings ***** 20***** used by the cdrtools with NLS support. ***** 21 22 *** WARNING *** 23 *** Need new smake *** 24 25 *** Due to the fact that schily-tools 2014-04-03 introduced to use new macro 26 *** expansions and a related bug fix in smake, you need a new smake 27 *** to compile this source. To ensure this, call: 28 29 cd ./psmake 30 ./MAKE-all 31 cd .. 32 psmake/smake 33 psmake/smake install 34 35 36 WARNING: the new version of the isoinfo program makes use of the 37 *at() series of functions that have been introduced by Sun 38 in August 2001 and added to POSIX.1-2008. For older platforms, 39 libschily now includes emulations for these functions but 40 these emulations have not yet been tested thoroughly. 41 Please report problems! 42 43 The new smake version mentioned above is smake-1.2.4 44 45- Cstyle: added the "C Style and Coding Standards for SunOS" 46 paper (troff .ms) from Bill Shannon to the project. 47 48- Cstyle: added the postscript version from the 49 "C Style and Coding Standards for SunOS" paper. 50 51- Cstyle: added a workaround for a perl-5.22.incompatibility that caused 52 repeated warnings. 53 54- Cstyle: Use newer CDDL header to work around the dead link 55 http://www.opensolaris.org/os/licensing 56 57- Cstyle: avoid to warn about bad C++ comment when a URL appears 58 inside a one line C comment. 59 Thanks to Heiko Ei�feldt for a suggestion on how to fix the problem. 60 61- Cstyle: warn about return type being on the same line as the 62 function definition even when the function definition starts 63 with the tags "extern" or "static". 64 65- Star: In list mode, use longer character arrays to convert the 66 link count, uname and gname. The linkcount array did miss the 67 space for a space character. 68 Thanks to Heiko Ei�feldt for the report. 69 70- Star: Abort when a CPIO archive claims to havea zero sized filename. 71 Thanks to Heiko Ei�feldt for the report. 72 73- Star: star -i no longer tries to access memory before the file name 74 array when the file name field starts with a nul byte. 75 Thanks to Heiko Ei�feldt for the report. 76 77- Star: Check whether the devminorbits value is reasonable to avoid 78 an array out of bound read access. 79 Thanks to Heiko Ei�feldt for the report. 80 81- Star: remove a left over debug printf in create.c that was inserted 82 while fixing the star -dump -vv bug in schilytools-2016-06-28. 83 84- Bourne Shell: Fix a bug introduced while adding support for $() 85 The bug caused echo "$\|a" to print "$\a" 86 87 Thanks to Martin V�th <martin@mvath.de> for reporting. 88 89- Bourne Shell: Cstyle changes that result from the enhancements 90 of the cstyle program. 91 92- Bourne Shell: A new option "set -o posix" was introduced to allow 93 to switch into full POSIX mode. This option currently disables 94 the character '^' to be recognised as an alternate pipe character 95 that helps to use "upper case only" terminals. 96 97 Thanks to Martin V�th <martin@mvath.de> for reporting problems with 98 unquoted '^'s inside words in the Gentoo startup scripts while 99 trying to use bosh as the Gentoo system shell. 100 101- Bourne Shell: Code was added to let the shell automatically identify 102 whether it has been called from a special path, like e.g. 103 "/usr/xpg4/bin/sh" and to auto-switch into posix mode (set -o posix) 104 in case that path was used. 105 106- Bourne Shell: Code has been added to permit users to compile the 107 shell to identify another path as a path to auto enable POSIX 108 mode. This mode permits to e.g. use "/bin/sh" as an additional 109 path to aoto-switch into POSIX mode when the following commandline 110 is used to compile: 111 112 smake 'CPPOPTX=-DPOSIX_BOSH_PATH=\"/bin/sh\"' 113 114 Note that POSIX rules say that /bin/sh typically is not a POSIX 115 shell. Some platforms however like to have non-portable shell scripts, 116 that require a shell behavior that is not compatible with the 117 traditional bourne shell, but using #!/bin/sh in the first line. In 118 such a case, it helps to tell the shell to show POSIX behavior even 119 when called as "/bin/sh". 120 121- Bourne Shell: the "test" command has been rewritten to include new 122 functions test_unary() and test_binary() that allow to implement 100% 123 POSIX test behavior. 124 125- Bourne Shell: the "test" command has been rewritten to use a new concept 126 for POSIX support. 127 128 Thanks to Martin V�th <martin@mvath.de> for reporting problems with 129 test calls in the Gentoo startup scripts while trying to use bosh as the 130 Gentoo system shell. 131 132- Bourne Shell: The man page now better explains the "test" behavior and 133 includes suggestions on how to make scripts better aware of the problems 134 with the POSIX "test" CLI concept. 135 136- Bourne Shell: the lexer has been changed to treat everything between 137 "${" and "}" as a single word as required by POSIX. 138 139 Thanks to Martin V�th <martin@mvath.de> for reporting problems with 140 the Gentoo startup scripts while trying to use bosh as the Gentoo 141 system shell. 142 143- Bourne Shell: The test suite has been enhanced to include more POSIX 144 specific "test" builtin calls. 145 146- Bourne Shell: The shell compliance tests do no longer verify whether 147 '^' can be used as an alias for the pipe character if the shell 148 is in POSIX mode. 149 150- Bourne Shell: The "printf" builtin command now supports: 151 152 printf "%b" 'abc\0def' 153 154- Bourne Shell: A new testsuite for the "printf" command was added 155 156- Test framework: added a new option "-esilent" to make the test 157 completely silent. This helps to implement hidden tests that are used 158 to e.g. switch off tests like the new test mentioned above. 159 160 161- Bourne Shell Missing features for POSIX compliance: 162 163 - Do not list functions when calling "set" with no arguments. 164 Note that this POSIX requirement is seen as a POSIX bug as there 165 is no POSIX command to list function definitions. 166 NOTE that this will not be implemented before POSIX bug 167 http://austingroupbugs.net/view.php?id=1025 was fixed. 168 169 - A POSIX whitepaper at: http://www.unix.org/whitepapers/shdiffs.html 170 claims that: 171 IFS=o; violet 172 173 should not execute "vi". The normative text in the POSIX standard 174 describes the historic Bourne Shell behavior, but the rationale 175 describes the deviating behavior from "ksh". 176 177 178 - Support for $'...' quoting (this is not needed for the current 179 version of POSIX but for the next POSIX 180 version that will be SUSv8) 181 182 We are getting very close to full POSIX support. 183 184 185- Bourne Shell further TODO list: 186 187 - Try to make 188 189 lastline= 190 while read line 191 do 192 lastline=$line 193 done < /etc/passwd 194 echo "lastline=$lastline" 195 196 print the last line of /etc/passwd without the exec "trick" 197 that is documented in the man page. 198 199 - Finish loadable builtin support. 200 201 - POSIX does not allow us to implement ". -h", so we will 202 add a "source" builtin to be able to implement "source -h" 203 204- The following builtins (that are available in bsh) are still missing in 205 the Bourne Shell: 206 207 err echo with output going to stderr 208 glob echo with '\0' instead of ' ' between args 209 env a builtin version of /usr/bin/env 210 211 The following bsh intrinsics are still missing in the Bourne Shell: 212 213 - the restricted bsh has restriction features that 214 are missing in the Bourne shell. 215 216 - source -h read file into history but do not excute 217 218 and probably more features not yet identified to be bsh unique. 219 220 221 222Author: 223 224Joerg Schilling 225D-13353 Berlin 226Germany 227 228Email: joerg@schily.net, js@cs.tu-berlin.de 229 joerg.schilling@fokus.fraunhofer.de 230 231Please mail bugs and suggestions to me. 232