New features with AN-2018-05-17:

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. If your smake is too old and aborts, ensure this
	*** by calling:

	cd ./psmake
	./MAKE-all
	cd ..
	psmake/smake
	psmake/smake install

	*** Due to the fact that schily-tools 2014-01-26 introduced
	*** optimizations for the Schily version of SunPro Make, you
	*** need at least the dmake version from 2018/01/11 with support
	*** for the "export" directive to compile with this makefile system.


	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

-	Schily Makefile system: A new set of rules enforces ordered execution
	in parallel mode with SunPro make and GNU make without ignoring
	the correct up to date state.

-	include/schily/wchar.h & wctype.h: moved wctype() & iswctype()
	prototypes from wchar.h to wctype.h where they belong.

-	libschily: checkerr.c added a new error code E_ICONV

-	libfind: the -newer and -newerXY primaries now compare nanoseconds
	as well.

-	libstreamar: Better comment in unicode.c

-	libstreamar: unicode.c is now based on iconv() to permit other locale
	encodings than ISO-8859-1

-	libstreamar: The POSIX.1-2001 extended header keyword hdrcharset=BINARY
	now works.

-	bsh: a premature EOF in a "if" statement could cause a core dump.

	Thanks to Heiko Eifeldt for reporting

-	SunPro Make: The manpage now contains better hints to dmake(1) for
	special targets that allow to control the behavior in parallel make
	mode.

-	smake: For better compatibility with SunPro Make, smake now supports
	to evaluate nanoseconds in file timestamps.

-	smake: smake no longer core dumps, when in 64 bit mode and the time
	is out of range for ctime().

-	smake: gcurtime() and gnewtime() now print debug messages when
	called "smake -dd" or with higher debug level.

-	smake: Now using TYPE_MAXVAL(time_t) in gnewtime() instead of the
	method from 1996, to work around a problem with gcc-8.1 and clang-6.0.

	Thanks to Martin Vth for reporting

-	smake now should compile and work again on DOS using MinGW to compile.

-	smake/psmake: added a link to libschily/getnstimeofday.c to make psmake
	compile after adding nanosecond support

-	smake: Now using version 1.3

-	various files: as a side effect of the new nanosecond resolution in
	smake and star, many files in this distribution did get an updated
	CDDL header with an additional URL

		http://www.opensource.org/licenses/cddl1.txt

-	copy: is now using utimens() instead of utimes() and thus copies
	nanoseconds instead of microseconds.

-	copy: Sparse file copying on platforms without _PC_MIN_HOLE_SIZE
	did use an uninitialized blocksize.

-	mkisofs: The link count computation did incorrectly count all directory
	entries for large (multi extent) files. This resulted in a link count
	that was "real number" + (sizeof file / 2GB)

	Thanks to Cezary Sliwa for reporting

-	mkisofs: multi extent files with -T did cause a core dump on Linux
	due to a multiple free() that was caused by looking at more than the
	major directory entry for a multi extent file.

	Thanks to Cezary Sliwa for reporting

-	mkisofs: File meta data for UDF directories that refer to a Rock Ridge
	relocated directory have been emitted as all zeroes.

	Thanks to Cezary Sliwa for reporting

-	mkisofs: added a hint to the man page that -udf also implies rationalized
	Rock Ridge and -r also implies rationalized UDF.

	Thanks to Cezary Sliwa for reporting

-	cdrtools: Version bumped to 3.02a10

-	star: Since 1985, star by default only extracts files from an
	archive if they are newer than the file on disk. The check whether
	files in the archive are newer than in the filesystem has been
	extended. Star now checks nanoseconds as well when in extract mode
	in case the archive contains timestamps with sub-second resolution.

	Warning: since historic tar archives store timestamps only with
	second resolution, extrating such an archive results in files that
	have the nanoseconds of the timestamps set to 0. If you later extract
	another archive with POSIX.1-2001 extenden headers that include
	nanosecond timestamps, all files on disk are considered to be older
	than the same files in the archive and thus extracted again.

	Note that since an incremental back usually takes much longer than a
	second, star currently still only compares seconds in the timestamps
	of files when deciding whether a file is put into an incremental
	backup. Files that have been created with the same second timestamp
	as the start of the last incremental are included in the next
	incremental, so no file is lost because of this decision.

-	star: The nanosecond handling in append mode has been verified and
	the related comment has been enhanced.

-	star: "star -c -newer ..." now checks nanoseconds as well.

-	star: Added a new archive format "epax". This is the same as "pax",
	but it always includes a POSIX.1-2001 extended header with timestamps
	with nanosecond resolution.

-	star: Better comment in unicode.c

-	star.c: unicode.c is now based on iconv() to permit other locale encodings
	than ISO-8859-1

-	star: The POSIX.1-2001 extended header keyword hdrcharset=BINARY now
	works.

-	star: When in copy mode, star now uses hdrcharset=BINARY to avoid charset
	conversion problems.

-	star: Now using version 1.5.4

-	strar: Now using setlocale() and gettext()

-	strar: Man page now mentions libstreamar(4)


-	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:

	-	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.
