revert between 56095 -> 55830 in arch
[AROS.git] / workbench / utilities / Installer / ChangeLog
blob3f9837c038fe4b3bd675015cd194eef03adf0cf0
1 0001
2 - parse fixed file and sort strings into tree structure
3 - printf() the structure as "simulation" of execution
5 0002
6 - free malloc'ed memory after successfully executing string
8 0003
9 - split one sourcefile into multiple included into main file
10 - removed debug information on parsing
12 0004
13 - always check for (malloc()!=NULL) else exit(-1)
14 - use "#warning FIXME: blah" to mark bugs/missing sections/hacks
15 - introduced files BUGS and ChangeLog
17 0005
18 - now the sources compile into modules
19 - start interpreting commands
21 0006
22 - fixed problem that startup.o has to be the first objectfile
23 - added int *intval; to struct ScriptArg
24 - support for integers in script (bin,dec,hex)
26 0007
27 - added commands.h which contains the strings of known commands
28 - added texts.h which contains the default values of some variables
30 0008
31 - moved content of commands.h into execute.h and deleted commands.h :-(
33 0009
34 - added support for LINUX only compilation
35   (for testing issues only - will go away soon)
36 - added preliminary code for some functions (abort,exit,transcript)
38 0010
39 - changed installation dir to SYS:Utilities and metatarget to utilities
40 - added support for variable storage and restorage (untested!!!)
41 - added first test code for variable lists
43 0011
44 - added support for set command
45 - fixed bug that ->parent has not been set
46 - fixed bug in dynamic variable list creation
48 0012
49 - prepared main() for ReadArgs()
50 - realloc() can be used as malloc() -- shortens code ;-)
51 - added collection of arguments for _STRING ( "..." ... ) to pass
52   to RawDoFmt()
53 - fixed a bug which caused parse_script() to have an empty ScriptArg at
54   end of lists, now if RBRACK is detected the last element is deleted
55   and pointers made valid (except if it would be the one and only!!!
56   In this case ->parent->cmd has to be set to NULL as well etc.
57   (Maybe we should terminate if braces are empty?) )
58 - added missing "@" for preset variables
60 0014
61 - left out previous version due to superstition ;-)
62 - fixed bug which allocated one byte too less 8-|
63   (hope this fixes previous problems...), marked those bugs as fixed
64 - symbols now may be finished with a semicolon
65 - added some cleanup routines
66 - split variable specific stuff into own object file variables.c
67 - added function prototypes to *.c
68 - added stripping of quotes in _STRING (plus freeing temporary spaces
69   for stripped strings)
71 0015
72 - commands are now case insensitive
73 - supplied debugging code for "working" "welcome" and "complete"
74 - reduced code in variables.c
75 - supplied final code for "transcript [string|var|cmd]..."
76 - now we execute commands, too, where values should be (we always get
77   return values)
78 - removed obsolete testing code
80 0016
81 - added demo/test script for written functions test.script_simple
82 - added "+" and "and" handling
83 - added function for stripping quotes off a string
84   ( to be more precise: strip off first and last character )
85 - installer didn't recognize negative numbers :-( Fixed.
87 0017
88 - First try with RawDoFmt() -- not very successful :-(
90 0018
91 - Added code for "bitand" "bitor" "bitxor" "/" "-" "or" "xor" "=" "<" "<="
92   ">" ">=" "<>" (integrated into "and" )
93 - Implemented "*" "not" "bitnot" "strlen" "select" "if"
94 - minor optimizations
96 0019
97 - added cleanup() before each exit(-1);
98 - added support for number-strings in arithmetic functions where missing
99 - implemented "cat"
100 - fixed bug in "select" and return (NULL|0) if n<=0 or n>number of items
101 - fixed bug in variable storage (if text == NULL )
102 - added return value for blocks
103 - implemented "while" "until"
105 0020
106 - RawDoFmt() works now!
107 - added "shiftleft" and "shiftrght" to "and"
108 - Implemented "in"
109 - Optimized item to integer conversion
111 0021
112 - added error.h with structs/defines on error Handling
113 - added procedure.c with functions on user-defined procedures
114 - added blank template for "_PROCEDURE" keyword:
115   procedures are parsed before script execution,
116   redefinition of procedures is not allowed
117 - fixed bug where I used sizeof(string) instead of strlen(string)
118 - added missing commands/tags as empty templates to execute_script()
119 - fixed bug in RawDoFmt() with ints ;-)
120 - extended test.script_simple
122 0022
123 - added dynamic size support to RawDoFmt()
124   ( needed quite some hacks :-( and works only up to 256k ;-)
126 0023
127 - added gui.c with functions for the gui
128 - added error handling for parsing file
129 - undefined variables now return (NULL|0) as value
130 - added "database" command -- needs computation of return values
132 0024
133 - added text-gui for user-level and abort requester
134 - added text-gui for "working" "complete" "abort"
135 - added function which collects all following arguments after executing
136   cmd and converts intval to strings if arg is NULL ( you can specify a
137   separating character )
138   "abort" "cat" "exit" "welcome" "working" make use of this function
139 - reinitialized (freed/set to Null) return values collectively
141 0025
142 - added "substr" "user" "debug"
143 - started work on parameters
144   . get_parameters() supports boolean parameters
145   . "exit" understands (quiet)
146   . string-only parameters get their strings read in
147   . all other parameters get their values read in
149 0026
150 - (global) parameter "options" is ready "delopts" started
151 - fixed bug in option's string-collection ( didn't save strings in array )
152 - added text-gui for "asknumber"
153 - added macro for ParameterList access
154 - moved array with command-strings to new file cmdlist.h
156 0027
157 - use strdup() for string duplication now ;-)
158 - set_procedure() has been called allocating space for a string
159   which is unnecessary
160 - added text-gui for "askstring" "askbool"
161 - "ask*" is only performed if @user-level > NOVICE
162 - adjusted default definition of RANGE according to docs
164 0028
165 - added support for "onerror" command
166 - execute onerror on user-abort
167 - call traperr() before exiting after error
168 - fixed behaviour of (welcome ...) and user-level requester
169 - added text-gui for "askchoice"
170   ( prepared for "askoptions" "askdir" "askfile" "askdisk" )
171 - fixed a bug in parse_file() which was introduced in 0027
172   ( didn't save procname )
173 - removed error.h again...
174 - added support for "trap" command
175 - main allocated one ScriptArg too much for the program list,
176   we now remove it after parsing the file
178 0029
179 - added more comments
180 - added recognition of Installer-command names in set_procedure()
181 - "while" and "until" now require a command-block to execute
182   However, this is only checked at run-time
183 - changed %d to %ld and (int) to (long int) where appropriate
184 - removed BUG00002, BUG00003
185 - started intuition GUI: added functions to open and close window
187 0030
188 - added and implemented "symbolset" "symbolval"
189 - added file "documentation" which contains user's guide = description of
190   functions.
191 - added "setposition" "resident" parameters and "iconinfo" function
192 - Don't use two lists for variables anymore
194 0031
195 - added "setposition" to code of "range" (two ints) and simplified code
196 - made error trapping more consistent
197 - fixed bugs for empty strings
198   ( e.g. "(cat)" produces empty string "" now )
199 - started converting '\'-sequences in parse
200 - fixed some minor bugs
201 - "procedure" now supports arguments
202 - added outofmem(void*) function to check for failed malloc
204 0032
205 - added preliminary Intuition GUI for "working"
206 - added function which breaks string at '\n' into array of strings
207 - added preliminary hybrid version of "message", "abort" and "exit"
208 - first working version of "run"
209 - changed test.script to work with "run"
210   ( pipes: '>' etc. don't work and AROS has no 'info' )
211 - "ask[bool|number|string|choice]" now print infos to log file
213 0033
214 - added parameter support to "run"
215 - added gui-function request_confirm():
216   shows(==needs!) (prompt...) and (help...) and is only executed if
217   @user-level >= minuser
218 - changed behaviour of "askchoice"
219   ( tests with Installer 43.3 showed that no bitmask is used )
221 0034
222 - added function "startup"
223 - "if" returns empty string for empty FALSE case, if TRUE case is a string
225 0035
226 - stripped LINUX stuff
228 0036
229 - working out IntuitionGUI: function for generating gadget borders
230 - first test in askbool
231 - code for cleaning up ParameterLists
232 - it is now legal to mask option-parameters with "if"
233   (e.g. help) with (if ... (help ...))
235 0037
236 - procedures are now linked in at run-time, parsing is done before executing,
237   "(procedure ...)" key puts the function into the active list
238   replaces existing function
240 0038
241 - converted libc filehandling to AmigaDOS filehandling
242   ( ie. fread() -> Read() )
243 - commented all functions
245 0039
246 - procedures now can have multiple commands as body
247   (ie. not necessarily a block)
248 - support more ReadArgs() parameters
250 0040 INTERMEDIATE VERSION ONLY
251 - more intuition gui tries
253 0041
254 - some first Workbench init code
255 - yet more intuition gui
256 - preparation for pretend-to-install
257 - added function for adding quotes to a string
258 - added misc.c for useful functions (like adding or stripping quotes)
259 - added MXGadget for askchoice
260 - added code for Asl FileRequester
261 - added Abort,Help,Skip gadgets in some places
263 0042
264 - Abort,Help,Skip,Proceed Gadgets are always visible
265 - Added item "fromcli" to struct Preferences
266 - added function for freeing an array of strings
267 - added GUI for Main Window (Welcome and UserLevel select)
269 0043
270 - added function setgadgetdisable() to enable/disable stdglist gadgets
271 - more GUI enhancements
272 - rewrite of misc/strtostrs(), needs less realloc()
273 - moved traperr() to execute.c
274 - added display_text() in gui.c to show up some text in a requester with
275   "Okay" only button.
277 0044
278 - added pretend-to-install request gui
279 - added gui for request_confirm(), lacks gui for help text
280 - implemented (database "graphics-mem") and (database "total-mem")
281 - added variable doing_abort to work around the "abort in abort" BUG00003
283 0045
284 - changed PrintIText() to Move(),Text()
285 - activated global gadgets for show_message()
286 - imported code from AROS/workbench/utilities/More/more.c to display
287   scrollable texts in a new window (used for help windows).
289 0046
290 - added misc.h with function prototypes of misc.c
291 - added function collatestrings() to misc.c which collates lines of strings
292 - added gui.h as API description for future GUIs
293 - scaled size of mxgadgets
295 0047
296 - added gui for request_string(), lacks gui for help text
297 - moved help texts to texts.h
298 - added gui for request_number() (clone from request_string())
299 - added macros ExecuteCommand() and ExecuteNextCommand() in execute.c
300 - new mmakefile.src by Iain Templeton (iaint@aros.org) for the
301   New Build Process
303 0048
304 - execute destructors of some gui-functions and call abort_install()
305   with pointer to this destructor (or NULL if not needed)
306 - small changes to request_number (integer gadget)
307 - implemented "rename"
308 - added a GUI function user_confirm(char *) to ask user to proceed or skip
309 - added some more preset variables/help texts
311 0049
312 - use (preset) @askstring variable instead of fixed ASKSTRING_HELP,
313   same for asknumber and askchoice
314 - partially implemented (delete). Need to implement (optional) and (delopts)
315 - gui for (askchoice)
317 0050
318 - fixed crash of askchoice gui
320 0051
321 - implemented a basic (makedir), no (infos) support.
322 - moved version string from main.c to version.h
323 - implemented a basic (execute)
325 0052
326 - implemented (fileonly) and (pathonly)
327 - suppressed warnings by adding casts to (IPTR) and setting initial values
328   for variables
329 - implemented (earlier)
330 - implemented (getdiskspace)
332 0053
333 - use StrDup() instead of strdup()
334   malloc(), calloc(), free() -> AllocVec(), FreeVec()
335   implemented ReAllocVec() as a replacement for realloc() in
336   AROS/compiler/alib
338 0054
339 - implemented (getenv)
340 - Updated Copyright string to 2003
341 - IconBase is now opened automatically
343 0055
344 - small fix to make it run from Workbench again
345 - added sources for test.script.info
346 - removed obsolete parts from gui
348 0056
349 - added Locale support
351 0057
352 - removed opening of Libraries as this is now done through libautoinit
353 - moved prototypes of .c files to .h files
355 0058
356 - started a Zune/MUI GUI gui_zune.c
358 0059
359 - implemented for Zune:
360   * request_userlevel
361   * request_confirm
362   * show_message
363   * request_bool
364   * request_choice
365   * Help Requester (makes more.[ch] obsolete for this GUI)
366   * request_options
367 - switched to Zune as default
368 - removed user_confirm() as it is not used
370 0060
371 - implemented (getsize) via POSIX stat()
372 - updated path of test.script
373 - implemented (makeassign)
374 - implemented (getassign)
375 - implemented (getdevice)
376 - implemented (tackon)
377 - implemented (expandpath)
379 0061
380 - use malloc/calloc/free/realloc instead of system memory calls