New features with AN-2017-04-26: 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 - The file Schily.Copyright was updated - autoconf now checks for "libelf" and "libelf.h". This is needed for libmakestate that is part of SunPro Make. Libmakestate is based on the standard libelf that is not part of all platforms. - autoconf now first checks whether the pthread*() functions are in libc before checking for -lpthread. This helps to avoid to link against libpthread on Solaris. - autoconf/config.sub now knows the architecture "aarch64". This helps to deal with Solaris and Linux on the Raspberry Pi3 and the Odroid C2. - autoconf/config.guess now knows the architecture "aarch64" for Solaris. This helps to deal with Solaris on the Raspberry Pi3 and the Odroid C2. - autoconf: now checks for the existence of "tsort" and "lorder" in order to help to compile on the new platform "aarch64" for Solaris. This platform is currently still missing many of the ELF tools and thus "lorder" - RULES/MKLINKS: New links for RULES/aarch64-sunos5-gcc*.rul and RULES/aarch64-sunos5-clang*.rul have been added. - RULES/rules.ins: before installing symlinks or hardlinks, the directory the links are in is made. - RULES: Added a new method that allows to skip building C++ based code in case we are on a platform that does not support a C++ compiler. This is needed for SunPro Make that was written on C++. Note that if you are e.g. on SunOS-4.x where the system does not include a C++ compiler, compiling with CCOM=cc will skip SunPro Make, but using CCOM=gcc on the same platform will compile SunPro Make. - DEFAULTS_CSW/Defaults.sunos5 now uses the same enhanced optiomization for C++ as used for C. This helps to compile the new SunPro Make sources. - README.compile: The documentation for using the Address Sanitizer was enhanced. - p: The function that supports searching in bold or underlined text has been fixed in order to avoid a buffer overflow. - SCCS:sccs now forwards the -o option to "get" as well, while implementing the macros: "delget", "deledit" and "create" - SCCS:admin, the -o option now also sets the time stamps for the s. file and the g-file - SCCS:delta, the -o option now also sets the time stamps for the s. file and the g-file - SCCS:get, the -o option now also sets the time stamps for the g-file in a way that uses the nanoseconds to make sure that SunPro make and gmake do not try to run "sccs get" on the files. - SCCS:sccs man page now mentions that "sccs create" not only permits the -o option but passes other options to "admin". - SCCS:sccs help create now mentions that "sccs create" not only permits the -o option but passes other options to "admin". - SunPro Make: The SunPro make program has been added to the sources. Note that there is currently only basic portability. If you are using a C-compiler that is not accompanied by a C++ compiler, the compilaion of SunPro Make is skipped. WARNING: the current state of the SunPro Make sources do not yet compile on FreeBSD. This is why the compilation of SunPro Make is not yet included in the default target list. If has been verified to compile on Solaris-sparc, Solaris-intel, Solaris-arm and Linux. To compile call: cd sunpro smake After doing a full compile in schilytools. - SunPro Make now supports the -j option and thus parallel compilation. The new feature has been implemented by enabling code that was disabled via #ifdefs by Sun Microsystems. When called as "make", parallel compilation is disabled by default. Using -j still switches parallel compilation on. When called as "dmake", parallel compilation is enabled by default. Note that the distributed features of the SunPro Make delivered with the SunPro C-compiler are not available. - SunPro Make has been converted from catgets() to gettext() in order to simplify the internationalization support. - strar: Add $(LIB_INTL) to the Makefile to permit compilation on FreeBSD. - strar: Not yet ready, the current status is: This command is usable for basic work already The following features are currently missing: - A method to descend directory trees, e.g. libfind - A noclobber flag - A method to avoid to replace files that are more recent on disk than in the archive. - Set the file permissions - Set the original file time stamps - Set the original file owners. These features will be implemented in a future version. - Bourne Shell Missing features for POSIX compliance: - Support for $'...' quoting (this is not needed for the current version of POSIX but for the next POSIX version that will be named SUSv8). The development of SUSv8 will start in late 2016. We are now expecting the Bourne Shell to be fully POSIX compliant. - 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 execute 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.