update-allegro

Function

Package: system

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-onlyRetrieve 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-patchesA 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.
forceCause patches that have been previously downloaded to be downloaded again. In other words, the file size and CRC check mentioned above is not performed.
hostFor system use only. Never specify a value for this argument unless instructed to do so by Franz Inc. Technical Support.
listIf 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.
patchesIf 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.

verboseIf true, various status messages are printed.
versionA 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-patchesDefaults 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.
proxyDefaults to nil. Allows using an http proxy. See Note on using proxies below the table.

Note on using proxies

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.

Examples:

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)

After downloading is complete

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.