AminetAminet
Search:
82050 packages online
About
Recent
Browse
Search
Upload
Setup
Services

util/boot/ShellUpdate.lha

Mirror:Random
Showing:m68k-amigaosppc-amigaosppc-morphosi386-arosi386-amithlonppc-warpupppc-powerupgeneric
No screenshot available
Short:Update OS 3.9 BB2 Shell to 45.39
Author:thorfdbg at alumni.tu-berlin.de (Thomas Richter)
Uploader:thorfdbg alumni tu-berlin de (Thomas Richter)
Type:util/boot
Version:45.39
Requires:Shell 45.7
Architecture:m68k-amigaos >= 3.9.2
Date:2017-09-30
Download:http://aminet.net/util/boot/ShellUpdate.lha - View contents
Readme:http://aminet.net/util/boot/ShellUpdate.readme
Downloads:4029
This patch fixes some bugs of the 45.7 shell that was published with BB2.
You *must* provide the Os 3.9 BB2 to apply this patch. Please read the
FAQ below *carefully* before resuming.
_____________________________________________________________________________

Version 45.8:

Fixed handling of backticks within comments. They are now
properly ignored.

Fixed handling of equal-signs within arguments. They are
now considered similar to blank spaces and consider
following double-quotes as function, not as literal.
_____________________________________________________________________________

Version 45.11:

Fixed result code of PopCD. Fixed search path for external
scripts with a non-native shell interpreter. Fixed the same
problem for datatypes. The Shell will now use PROGDIR: 
correctly.

_____________________________________________________________________________

Version 45.12:

Fixed handling of alias expansion and backticks. In case
a backtick expansion resulted in a string containing
backticks, an alias would expand the second backtick pair
again even though it shouldn't. 
Changed handling of variable expansion once again. The shell 
used to expand variables after argument parsing; especially,
if the command was given by a variable, blanks were considered
parts of the command. This might possibly be desirable, but
I changed it for backwards compatibility.
_____________________________________________________________________________

Version 45.16:

Fixed two bugs of alias handling: Alias expansion now also
recursively expands backticks and shell variables in the alias
body.
This version also provides a new feature of the shell, namely
interactive debugging of shell scripts. To enable it, set the
variable "interactive" to "on". The shell will then prompt
every command it executes and waits for your response. The command
can be run by pressing return, skipped by pressing DEL or the shell
script can be aborted with ESC. This can be a useful tool for
debugging the startup-sequence.
_____________________________________________________________________________

Version 45.25:

The alias arguments are now also valid within variable names and
backticks. Furthermore, alias, variable and backtick expansion got
rewritten, removing any circular dependencies, i.e. alias, backtick
and [] expansion are now done in one single step. This has the side
effect that backticks can not be used to expand to variable names
(similar to the bash) and the keepdoublequotes variable also applies
to the alias [] argument. It has another (positive) side-effect
that no part of the command string is really parsed twice, thus
avoiding trouble of backticks or variables that expand to another
defined variable name by pure chance.
Another seemingly minor improvement is that recursive execution of
script files finally works (for the first time ever), meaning that
you can actually skip back in front of another EXECUTE command. To
make this working, make sure that C:Execute is resident before the
shell requiring this feature is started. This seemingly simple
feature required major trickery in the shell and corrects at least
one of the anoyances of the Amiga Shell.

_____________________________________________________________________________

Version 45.28:

The magic "hash-bang" sequence was partially broken and did not 
append additional command line arguments to the executing program
correctly. This got fixed.
_____________________________________________________________________________

Version 45.29:

Previous versions did not update the CLI stacksize field when
creating run-back processes with the "&" operator, even though
the correct size of stack was allocated. Nevertheless, some
programs rather checked cli_DefaultStack instead of the stack
size they got, and reported a lack of stack. This version fixes
this problem.
_____________________________________________________________________________

Version 45.31:

The 45.29 version did not correctly carry over the return code
of a command executed in back-ticks to the main shell. This version
now reports the original secondary return code of the sub-shell as
error again, e.g. whenever you execute a command in back-ticks, and
this command fails, the shell will print this failure as error code.
_____________________________________________________________________________

Version 45.33:

As execute is all new now, the special hack that allowed
recursive execution of scripts is no longer necessary and has
been removed from the shell.

_____________________________________________________________________________

Version 45.34:

Fixed a resource leak in recursive shell execution.
_____________________________________________________________________________

Version 45.35:

Fixed another potential resource leak in out of memory
situations.
Allows now also input/output redirection of the execute
command by storing the shell streams on the execution stack
as well.
_____________________________________________________________________________

Version 45.36:

For some strange reason, even the original shell did not
clean up a command file left behind from an execute called
indirectly through a System() call. This is probably an
oversight and not a design decision, so the shell cleans
up in this case as well.

_____________________________________________________________________________

Version 45.38:

In case a recursive shell script was launched through
System() instead through the shell directly, the shell
erraneously terminated the entire recursive call at the
EOF of the deepest nested script. As a related bug, the
"QUIT" command did not work properly for recursive
scripts and terminated only the current script, but not
the entire hierarchy as it should.

_____________________________________________________________________________

Version 45.38.1:

Nothing changed in the shell, except for a broken version
string in the previous release. Execute was updated to a
new release - 45.15 - which addresses one parsing conflict.
If .bra was set to the curly bracket, Execute always
performed formal parameter substitution, even if a dollar
sign in front of the curly bracket indicated a shell
variable. This release of Execute is a bit more careful
and only expands formal parameters if the token cannot
be confused with that of a shell variable.

Note, however, that setting the .bra and .ket characters
to curly brackets is discouraged due to the syntax conflict
with shell variables. Unfortunately, the same goes for
angle brackets that can be confused with I/O redirection.
Square brackets might be still available in many
situations, except if you define aliases. *Sigh*

_____________________________________________________________________________


Version 45.38.2:

Nothing has changed in the shell. The only fix in this
release is "Execute" which had still a bug (*sigh*) in
handling quotes correctly. Due to an oversight and a
single misplaced line, all characters were parsed twice,
making quotes essentially non-functional.

This release provides a working release of "Execute"
again (hopefully).


_____________________________________________________________________________


Version 45.38.3:

This is again a small update to Execute. Execute failed
to accept a script which explicitly defined to take no
arguments, i.e. with a ".KEY" directive with an empty
argument "".

_____________________________________________________________________________


Version 45.39:

The expansion of backticks caused an error in case the command
in backticks did not generate any output. This problem was
fixed.

_____________________________________________________________________________


Some frequently asked questions:

Q: How official is this distribution?

A: As official as I could make it. There will be no future BB for Os 3.9,
but I still wanted to provide an update. Hence, here we go. Both, Amiga
and H&P agreed to my conditions, therefore this patch is fully legal.


Q: What about customer service and support?

A: There is absolutely no support and no warranty. You are welcome to
ask questions, but please direct them to me (see my email above) directly.
Neither H&P nor Amiga will provide any service or support or warranty
concerning this product. 

Limitations.

THE PROGRAM IS PROVIDED TO YOU "AS IS," WITHOUT WARRANTY. THERE IS NO
WARRANTY FOR THE PROGRAM, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE ENTIRE
RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD
THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
SERVICING, REPAIR OR CORRECTION.

If you do not agree with these limitations, you must not install this update,
and must remove the patch and the archive containing the patch from your
storage device immediately.
_____________________________________________________________________________

Installation:

Please double-click on the "Install" icon. This program will extract
the shell from the AmigaOs ROM-Updates file, will patch it and place
the resulting shell to the L: drawer. Further, it will copy the
LoadModule program to C:. 

You also will have to make some modifications on your startup-sequence.
The installer script will open an editor to allow you to modify
the startup-sequence, and will print the required instructions. 
Unfortunately, these instructions have to be carried out by hand and
cannot be automatized easily. Please follow the instructions
closely. For convenience, I repeat them here:


1) Locate the "SetPatch" command within the startup-sequence, place the
cursor on the "S" of "SetPatch" and press <RETURN>. This will insert a new
blank line ON TOP of SetPatch. Move the cursor upwards into this blank
line and enter the following command:

LoadModule L:Shell-Seg NOREBOOT

In case you are using LoadModule already, please add L:Shell-Seg as one of
its arguments. You may also load additional modules here, i.e. the Os 3.9 
icon.library or the Os 3.9 workbench.library. Just give their full paths 
as arguments to the LoadModule command. 
*NOTE THAT IT IS IMPORTANT THAT LOADMODULE IS RUN BEFORE SETPATCH*. 
With these modifications, the command line could look like this:

LoadModule L:Shell-Seg L:Ram-Handler LIBS:icon.library LIBS:workbench.library
NOREBOOT

(This is one line, no line feed intended)
The advantage of "LoadModule" is that the ROM modules loaded by this command can
be protected from getting overwritten by means of the "MuProtectModules" program
of the same author (not included in this archive).

2) Locate the "SetPatch" command within the startup-sequence. Move the cursor
behind "SetPatch", and add the command line option "SKIPROMMODULES shell"
to the command. The setpatch command line should then read approximately as
follows:

SetPatch SKIPROMMODULES shell >NIL:


If you already have to skip parts of the update, as for example the scsi.device,
the line should rather look like this:

SetPatch SKIPROMMODULES scsi.device,shell >NIL:

3) Save the changes of the startup-sequence back. For "Ed", press first <ESC>,
then <X>, then <RETURN>.


4) To make the changes active, a reboot is *NOT* enough. You should turn
off the machine, wait for half a minute, and reboot. This will flush the
RAM resident parts of the ROM-Updates mechanism.

____________________________________________________________________________


For more information concerning "LoadModule", check "LoadModule.lha" on
Aminet.

_____________________________________________________________________________


January 2007,
	Thomas


Contents of util/boot/ShellUpdate.lha
PERMISSION  UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP     NAME
---------- ----------- ------- ------- ------ ---------- ------------ ----------
[unknown]                 5274    8424  62.6% -lh5- d732 Sep 27  1998 ShellUpdate/CLICon
[unknown]                  325     758  42.9% -lh5- a57a Apr  7  2002 ShellUpdate/CLICon.info
[unknown]                  280     628  44.6% -lh5- 8026 Apr  7  2002 ShellUpdate/Documentation.info
[unknown]                 1121    2436  46.0% -lh5- da4a Dec 25  2001 ShellUpdate/Documentation/Ask
[unknown]                  372     852  43.7% -lh5- 5ab6 Apr  7  2002 ShellUpdate/Documentation/Ask.info
[unknown]                 4253   11512  36.9% -lh5- b14b Jan 10  2017 ShellUpdate/Documentation/Execute
[unknown]                  373     852  43.8% -lh5- 1e46 Jan 10  2017 ShellUpdate/Documentation/Execute.info
[unknown]                  736    1673  44.0% -lh5- 3e85 Dec 28  2001 ShellUpdate/Documentation/Installation
[unknown]                  373     852  43.8% -lh5- d645 Apr  7  2002 ShellUpdate/Documentation/Installation.info
[unknown]                 6515   16322  39.9% -lh5- b263 Jan 10  2017 ShellUpdate/Documentation/LoadModule
[unknown]                  370     852  43.4% -lh5- ccc1 Apr  7  2002 ShellUpdate/Documentation/LoadModule.info
[unknown]                 6320   14740  42.9% -lh5- 3bd9 Sep 30 22:58 ShellUpdate/Documentation/New Features
[unknown]                  372     852  43.7% -lh5- cdb2 Apr  7  2002 ShellUpdate/Documentation/New Features.info
[unknown]                 1577    3876  40.7% -lh5- 9682 Jan 10  2017 ShellUpdate/Documentation/Path
[unknown]                  373     852  43.8% -lh5- 1e46 Apr  7  2002 ShellUpdate/Documentation/Path.info
[unknown]                  203     318  63.8% -lh5- b7c9 Dec 24  2001 ShellUpdate/Documentation/PopCD
[unknown]                  374     852  43.9% -lh5- fd4d Apr  7  2002 ShellUpdate/Documentation/PopCD.info
[unknown]                  570    1222  46.6% -lh5- a5c1 Dec 24  2001 ShellUpdate/Documentation/PushCD
[unknown]                  371     852  43.5% -lh5- bc69 Apr  7  2002 ShellUpdate/Documentation/PushCD.info
[unknown]                  982    2105  46.7% -lh5- 4bb1 Dec 24  2001 ShellUpdate/Documentation/SetENV
[unknown]                  371     852  43.5% -lh5- 5660 Apr  7  2002 ShellUpdate/Documentation/SetENV.info
[unknown]                11269   30727  36.7% -lh5- 243e Jan 19  2002 ShellUpdate/Documentation/Shell
[unknown]                 4884   11697  41.8% -lh5- 9a9b Jan 12  2002 ShellUpdate/Documentation/Shell.ger
[unknown]                  372     852  43.7% -lh5- 6f18 Apr  7  2002 ShellUpdate/Documentation/Shell.ger.info
[unknown]                30964   86969  35.6% -lh5- 7d3f Dec 28  2006 ShellUpdate/Documentation/Shell.guide
[unknown]                  272     523  52.0% -lh5- ea09 Apr  7  2002 ShellUpdate/Documentation/Shell.guide.info
[unknown]                  372     852  43.7% -lh5- 19ad Apr  7  2002 ShellUpdate/Documentation/Shell.info
[unknown]                  739    1846  40.0% -lh5- 6379 Jan  2  2002 ShellUpdate/Documentation/SwapCD
[unknown]                  371     852  43.5% -lh5- 9f3b Apr  7  2002 ShellUpdate/Documentation/SwapCD.info
[unknown]                  245     396  61.9% -lh5- 9d7d Dec 24  2001 ShellUpdate/Documentation/UnSetENV
[unknown]                  374     852  43.9% -lh5- aa50 Apr  7  2002 ShellUpdate/Documentation/UnSetENV.info
[unknown]                 3703    5936  62.4% -lh5- 8be3 Sep 29 19:30 ShellUpdate/Execute
[unknown]                 2717    4376  62.1% -lh5- e204 Jan 10  2017 ShellUpdate/ExtractModule
[unknown]                 1335    2796  47.7% -lh5- 55f8 Jan 10  2017 ShellUpdate/Install
[unknown]                  473     936  50.5% -lh5- 160d May 26  2002 ShellUpdate/Install.info
[unknown]                 7335   11312  64.8% -lh5- 6e59 Sep 29 19:37 ShellUpdate/LoadModule
[unknown]                  282     628  44.9% -lh5- d6bf Apr  7  2002 ShellUpdate/NOTES.info
[unknown]                 1420    3046  46.6% -lh5- 87f6 Sep 30 22:54 ShellUpdate/NOTES/Execute_RelNotes
[unknown]                  365     852  42.8% -lh5- 7ebb Jan 10  2017 ShellUpdate/NOTES/Execute_RelNotes.info
[unknown]                 7989   19580  40.8% -lh5- 5e85 Sep 30 22:52 ShellUpdate/NOTES/Shell_RelNotes
[unknown]                  365     852  42.8% -lh5- 7ebb Apr  1  2002 ShellUpdate/NOTES/Shell_RelNotes.info
[unknown]                10127   14956  67.7% -lh5- bebd Sep 29 19:29 ShellUpdate/Shell.pch
[unknown]                 4602   11923  38.6% -lh5- b856 Sep 30 23:02 ShellUpdate/ShellUpdate.readme
[unknown]                  371     852  43.5% -lh5- 50a6 Apr  7  2002 ShellUpdate/ShellUpdate.readme.info
[unknown]                 9310   14688  63.4% -lh5- 842a Apr 12  2001 ShellUpdate/spatch
---------- ----------- ------- ------- ------ ---------- ------------ ----------
 Total        45 files  131761  299981  43.9%            Sep 30 19:13

Aminet © 1992-2017 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>