1New features with AN-2020-03-27:
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 newer smake
27	*** to compile this source. If your smake is too old and aborts, ensure to
28	*** use the recent smake by calling:
29
30	cd ./psmake
31	./MAKE-all
32	cd ..
33	psmake/smake
34	psmake/smake install
35
36	The new smake version mentioned above is smake-1.2.4
37	The recent smake version is smake-1.3
38
39	*** Due to the fact that schily-tools 2018-01-26 introduced
40	*** optimizations for the Schily version of SunPro Make, you
41	*** need at least the dmake version from 2018/01/11 with support
42	*** for the "export" directive to compile with this makefile system.
43
44
45	WARNING: the new version of the isoinfo program makes use of the
46		*at() series of functions that have been introduced by Sun
47		in August 2001 and added to POSIX.1-2008. For older platforms,
48		libschily now includes emulations for these functions but
49		these emulations have not yet been tested thoroughly.
50		Please report problems!
51
52	BUG WARNING: Please never report bugs only to Linux distributions as
53		they usually do not forward these bug reports upstream and as
54		the Linux distributions typically do not let skilled people
55		check the bugs. We did not hear about a FIFO problem in star
56		for a long time. Then a problem on Linux occurred once
57		every 6000-10000 tries but it did not happen on Solaris after
58		even 10 million tries, so it was not known besides Linux.
59
60-	SunPro Make: The man page now mentions the file .make.state.lock since
61	that file may need manual removal if the system crashes at a bad time.
62
63-	SunPro Make: The file Make/include/mksh/defs.h changed a comment to
64	avoid a warning from the IRIX compiler.
65
66-	Bourne Shell: The case statement now supports the alternate end case
67	symbol ";;&" that has been introduced by bash. If ";;&" is used instead
68	of ";;", the next pattern list is evaluated and if there is a match,
69	the related command list is executed.
70
71-	mkisofs: A new option -noatime has been introduced in order to use the
72	modification time of the files instead of the last access time.
73
74	This allows to create reproducible ISO-90660 filesystem images.
75
76-	mkisofs: A new option -creation-date has been introduced in order to
77	use the supplied time stamp instead of the current time in the PVD.
78
79	This allows to create reproducible ISO-90660 filesystem images.
80
81-	mkisofs: A new option -effective-date has been introduced in order to
82	use the supplied time stamp instead of the current time in the PVD.
83
84	This allows to create reproducible ISO-90660 filesystem images.
85
86-	mkisofs: A new option -expiration-date has been introduced in order to
87	use the supplied time stamp instead of a zeroed time in the PVD.
88
89	This allows to create reproducible ISO-90660 filesystem images.
90
91-	mkisofs: The option -modification-date=spec did not work if specified
92	as -modification-date=spec, but it worked if specified as
93	-modification-date spec. This was caused since it starts with
94	looking for the "-m" option, which is another option that takes a
95	string argument.
96
97	We now moved the -m option past the -modification-date option to
98	first look for -modification-date.
99
100-	mkisofs: The "current time" used by mkisofs for various places is
101	now derived from the -modification-date argument if present. This
102	gives predictable behavior.
103
104-	mkisofs: The time stamp used for the ".rr_moved" directory is now
105	derived from the "current time" value that is derived from the
106	-modification-date argument if present.
107
108-	mkisofs: The time stamp used for the "invented" directories is now
109	derived from the "current time" value that is derived from the
110	-modification-date argument if present.
111
112-	mkisofs: The time stamp used for the debug information is now
113	derived from the "current time" value that is derived from the
114	-modification-date argument if present.
115
116-	mkisofs: If you like to create ISO filesystem images, you should call
117	something like:
118
119	mkisofs  -creation-date=202003 -modification-date=202003 \
120		-effective-date=202003 -noatime some-dir > image.iso
121
122	Do not use the -o option since the -o argument is recorded inside
123	the ISO image.
124
125-	mkisofs: A new option -reproducible-date has been added. This
126	option sets -creation-date, -modification-date, -effective-date
127	and -noatime at the same time and helps to make usage easier.
128
129
130-	SCCS TODO:
131
132	-	Convert sccs.c to use -NSCCS in the back end programs instead
133		of converting g-file names from the command line into s.file
134		names in the frontend in order to forward s.file names to the
135		backend programs. Doing it this way allows us to have the SCCS
136		history files "off tree" in a separate directory tree starting
137		with ".sccs/" at the "project root" directory, as the related
138		code to convert path names is in libcomobj::bulkprepare().
139
140	-	Add code to admin(1) and delta(1) to retrieve the list of
141		new or modified files in order to have all important code
142		for a "sccs commit" in a single program that does not need to
143		deal with ARG_MAX limitations.
144
145	-	Add code to admin(1), delta(1) and get(1) to maintain/understand
146		the changeset file.
147
148	-	Add code to libcomobj to understand the changeset file,
149		which is needed in order to e.g. know the file names and file
150		specific SIDs/state that correspond to a project global SID.
151
152	-	Add code to all programs to maintain a lock (for the file
153		$PROJECTHOME/.sccs/SCCS/s.changeset, that would be in the file
154		$PROJECTHOME/.sccs/SCCS/z.changeset) to maintain a project
155		global lock.
156
157	-	Find/verify a complete transactional model that allows to repair
158		complex changes to the set of files for a project that have
159		been aborted in the middle. The current idea is to create the
160		file $PROJECTHOME/.sccs/changeset with the deltas to the
161		changeset during a complex update operation.
162
163	-	Find a way to decide when to use SCCS v6 type history files.
164
165		For the project mode, this is needed in order to prevent
166		historic SCCS implementations to believe they could modify
167		files without knowing about project global locks.
168
169		Currently, SCCS V67 needs to be anebale manually for every
170		history file using "admin".
171
172
173
174
175
176-	Bourne Shell Missing features for POSIX compliance:
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 named SUSv8).
181					The development of SUSv8 will start in
182					late 2016.
183
184	We are now expecting the Bourne Shell to be fully POSIX compliant.
185
186-	Bourne Shell further TODO list:
187
188	-	Finish loadable builtin support.
189
190	-	POSIX does not allow us to implement ". -h", so we will
191		add a "source" builtin to be able to implement "source -h"
192
193-	The following builtins (that are available in bsh) are still missing in
194	the Bourne Shell:
195
196	err			echo with output going to stderr
197	glob			echo with '\0' instead of ' ' between args
198	env			a builtin version of /usr/bin/env
199
200	The following bsh intrinsics are still missing in the Bourne Shell:
201
202	-			the restricted bsh has restriction features that
203				are missing in the Bourne shell.
204
205	-	source -h	read file into history but do not execute
206
207	and probably more features not yet identified to be bsh unique.
208
209
210
211Author:
212
213Joerg Schilling
214D-13353 Berlin
215Germany
216
217Email: 	joerg@schily.net, joerg.schilling@fokus.fraunhofer.de
218
219Please mail bugs and suggestions to me.
220