Arguments: &key documentation-only destination-directory except-patches force host list patches platform verbose version (keep-old-patches t) proxy
This function contacts the Franz Inc. website and downloads the patches appropriate for your platform (computer type) and version of Allegro CL. This function was introduced with version 5.0.1. In order to work, the computer running Allegro CL must be able to make an FTP connection to the internet. If the connection is not made for any reason, update-allegro signals an error.
Calling this function with no arguments will download and install all patches.
Unless the force argument is true, a patch file is not downloaded if the size and CRC (checksum) of an existing local file with the same name and location is the same as the remote file (but this does not cause an error or prevent downloading of other files).
Fasl file (destined for the update/ and various other directories), shared library (UNIX), and Dynamically Linked Library (DLL) patches are all handled by sys:update-allegro. On Windows, because "in use" files cannot be replaced, you will be asked to reboot your computer to finish the update process. Without rebooting, you will not see the patched DLL.
The keyword arguments to sys:update-allegro are as follows:
Argument | Effect |
documentation-only | Retrieve only the `DESCRIPTIONS' files. Useful when you want to see what the current set of patches is. Note that new documentation files may be downloaded, but this argument has nothing to do with those files. |
destination-directory | Put the patches in this directory. Useful when you want to pick and choose which patches to install. If you use a directory other than "sys:" (the Allegro directory), you will then be responsible for installing the patches. NOTE for Windows users: ACL dll patches will be installed into the Windows system directory regardless of the value of this argument. |
except-patches | A list of patches (by location and name) to skip downloading and installing. The location should be relative to the Allegro directory (see the example below). If a name does not correspond to an actual patch file, it is ignored and no error is signaled. |
force | Cause patches that have been previously downloaded to be downloaded again. In other words, the file size and CRC check mentioned above is not performed. |
host | For system use only. Never specify a value for this argument unless instructed to do so by Franz Inc. Technical Support. |
list | If specified true, no files are downloaded. Instead, sys:update-allegro returns a list of the patches that would have otherwise downloaded and installed if this argument were nil. |
patches | If true, the value should be a list of specific patches to download and install. The list should contain relative pathnames from the /pub/patches/[version]/[arch] directory on the FTP site. Only those files are downloaded. |
platform | The platform for which you wish to download patches. If you change this from the default value, you must also specify a destination-directory (an error is signaled if you do not). Installing patches for the incorrect architecture would cause serious problems, probably making your Lisp unusable (requiring uninstallation and installation to make it work again). We recommend that you do not specify this argument and instead call sys:update-allegro on the platform of interest. |
verbose | If true, various status messages are printed. |
version | A specific version for which patches should be downloaded. As with platform, if you change this from the default value, you must also specify a destination-directory (an error is signaled if you do not). Installing patches for the incorrect version would cause serious problems, probably making your Lisp unusable (requiring uninstallation and installation to make it work again). |
keep-old-patches | Defaults to t . If
true, old patch files are renamed to end in
"bak" (or if a "bak" file is present, a numbered "bak" file --
"bak2", "bak3", etc.) Thus, a new, modified code/streams.fasl becomes
streams.faslbak and a new p2a002.001 becomes p2a002.001bak. (This
makes it easier to back out of a patch, particularly a patched fasl
file in the code/ directory.)
If the value of this argument is nil ,
the old file is overwritten. |
proxy | Defaults to nil .
Allows using an http proxy. See Note on using proxies
below the table. |
Users that surf through an http proxy (usually as a security measure
on sites with firewalls) can specify the proxy name and port number
using the proxy keyword argument. Suppose the
proxy is www.foo.com
and it uses port 8000, then
such users would specify the sys:update-allegro form
like this (specifying other arguments as desired, of course):
(sys:update-allegro :proxy "www.foo.com:8000")
Otherwise, sys:update-allegro will try and contact
www.franz.com
directly. In the case where users are
using a proxy, that would not work. The failure symptom would be that
sys:update-allegro would just hang and finally time
out.
To download all available patches for your platform and version, do:
(sys:update-allegro)
If you want all patches except update/p2a001.001, then do this:
(sys:update-allegro :except-patches '("update/p2a001.001"))
If you want a list of patches that would be downloaded but do not want to download anything, then do this:
(sys:update-allegro :list t)
It is important that you follow the instructions given to you by sys:update-allegro. It may ask you to rebuild your images or (on Windows only to) reboot your machine. If you do not follow the instructions, the update procedure will not be complete.
NOTE for Trial and Lite Edition users: you cannot rebuild images. After running sys:update-allegro, all you need do is reboot if instructed and then restart your image.
Patches are described in section Patches of introduction.htm. The sections after that one also contain information about patches.
The documentation is described in introduction.htm and the index is in index.htm.
Copyright (c) 1998-2000, Franz Inc. Berkeley, CA., USA. All rights reserved.
Created 2000.10.5.