All Manuals > Release Notes and Installation Guide > 11 Troubleshooting, Patches and Reporting Bugs

11.8 Updating with patches

We sometimes issue patches for LispWorks by email or download.

11.8.1 Extracting simple patches

Save the email attachment to your disk.

See 11.8.3.2 Private patches below about location of your private patches.

11.8.2 If you cannot receive email

If your site has neither email nor ftp access, and you want to receive patches, you should contact Lisp Support to discuss a suitable medium for their transmission.

11.8.3 Different types of patch

There are two types of patch sent out by Lisp Support, and they must be dealt with in different ways.

11.8.3.1 Public patches

Public patches are general patches made available to all LispWorks customers. These are typically released in bundles of multiple different patch files; each file has a number as its name. For example:

patches\system\0001\0001.ofasl (for x86 Windows)
patches/system/0001/0001.ufasl (for x86 Linux)
patches/system/0001/0001.sfasl (for x86 Solaris)
patches/system/0001/0001.ffasl (for x86 FreeBSD)
patches/system/0001/0001.rfasl (for 32-bit ARM Linux and Android)
patches/system\0001\0001.64ofasl (for x64 Windows)
patches/system/0001/0001.64ufasl (for amd64 Linux)
patches/system/0001/0001.64xfasl (for Intel Macintosh)
patches/system/0001/0001.64yfasl (for Apple silicon Macintosh and iOS Simulator)
patches/system/0001/0001.64sfasl (for amd64 Solaris)
patches/system/0001/0001.64ffasl (for amd64 FreeBSD)
patches/system/0001/0001.64rfasl (for 64-bit ARM Linux and iOS)
patches/system/0001/0001.64xcfasl (for 64-bit iOS Simulator)

On receipt of a new patch bundle your system manager should update each local installation according to the installation instructions supplied with the patch bundle. This will add files to the patches subdirectory and increment the version number displayed by LispWorks.

You should consider saving a new image with the latest patches pre-loaded, as described in 8.4 Saving and testing the configured image (macOS), 9.4 Saving and testing the configured image (Windows) or 10.4 Saving and testing the configured image (Linux, x86/x64 Solaris or FreeBSD).

11.8.3.2 Private patches

LispWorks patches are generally released in cumulative bundles. Occasionally Lisp Support may send you individual patch binaries named for example my-patch to address a problem or implement a new feature in advance of bundled ('public') patch releases. Such patches have real names, rather than numbers, and must be loaded once they have been saved to disk. You will need to ensure that LispWorks will load your private patches on startup, after public patches have been loaded.

Private patch loading is controlled by the file:

lib/8-0-0-0/private-patches/load.lisp

private-patches/ is the default location for private patches, and patch loading instructions sent to you will assume this location. Therefore, on receipt of a private patch my-patch.ufasl, the simplest approach is to place it here. For example, on macOS:

<install>/LispWorks 8.0 (64-bit)/Library/lib/8-0-0-0/private-patches/my-patch.64xfasl

On Windows (but see note below about the Install Private Patches... command):

<install>lib\8-0-0-0\private-patches\my-patch.ofasl

On Linux:

<install>/lib/8-0-0-0/private-patches/my-patch.ufasl

You will receive a Lisp form needed to load such a patch, such as:

(LOAD-ONE-PRIVATE-PATCH "my-patch" :SYSTEM)

This form should be added to the flet form in the file:

private-patches/load.lisp

immediately after the commented example there. load-all-patches loads this file, and hence all the private patches listed therein.

You may choose to save a reconfigured image with the new patch loaded - for details see the instructions in 8.4 Saving and testing the configured image (macOS), 9.4 Saving and testing the configured image (Windows), or 10.4 Saving and testing the configured image (Linux, x86/x64 Solaris or FreeBSD). You can alternatively choose to load the patch file on startup. The option you choose will depend on how many people at your site will need access to the new patch, and how many will need access to an image without the patch loaded.

Note: On Windows, the correct way to install private patches is using the menu item Help > Install Private Patches.... Select the private patch file with the Add button and edit the private-patches/load.lisp in the lower pane to include the loading form supplied by Lisp Support immediately after the commented example there. Then click Save Changes, which will run a helper application that interacts with the Windows User Access Control mechanism to allow you to write the files into the protected Program Files folder.


Release Notes and Installation Guide - 01 Dec 2021 19:38:48