BEFORE UPGRADING ================ Before you upgrade, first do everything in the file 'dofirst', in your database. Make sure to review what it is doing before you blindly paste it in--if you have changed $sys or other core objects it may overwrite those changes. If you use tinyfugue, you can easilly paste this into the database with the command: /quote -0 '"dofirst" Then shutdown your database. TO UPGRADE ========== Most of the upgrade process is automated and handled by the 'upgrade' program, which is a PERL 5 script. PERL 5 should exist in: /usr/local/bin/perl If it does not, edit 'upgrade' to point to the appropriate location. Make sure to read the notes on what you should do Before Running 'upgrade'. Upgrade will handle most of the patching of your database. However, you may be required to edit and manually apply some patches. If this occurs (which it inevitably will, if you have changed your core objects), simply read the *.rej files and apply the patches by hand. Some notes on the patch syntax, to help understand what is in the reject files: * Any line beginning with a minus sign (-) signify that the line is to be removed * Any line beginning with a plus sign (+) signify that the line is to be inserted. All other lines exist to give 'patch' context--and are often what may cause the patch to fail (because the context is not correct). When manually applying the patch you will want to make sure all of the '-' lines are removed, and all of the '+' lines are added. When Problems Arise ------------------- During the upgrade process, if you see any warnings make note of them. You may see a warning about 'object never defined', such as with $map_of_taobh_thiar. What this means is the object was removed from the db, although there is still a reference to it somewhere. If it is an object you want to keep, stop the upgrade (CTRL-C) and edit work/src/+INDEX and insert the object name (without the dollar-sign) at the end of the file, then run: upgrade -finish. If other problems arise and you are unsure as to what to do, contact the authors. Before Running 'upgrade' ------------------------ Before you run you should be relatively aware of your binary db's location (make sure genesis is not currently running on the binary db), the coldcc for your binary db, and you will need Patch version 2.2 or greater. To find out the version of patch you have, run patch -v. If you are running the OSF patch, you will need to upgrade. You can get the latest version of patch from: ftp://prep.ai.mit.edu/pub/gnu/patch-2.4.tar.gz It does not need to be installed by the system, but it does need to exist in your PATH for 'upgrade' to find it. The reason you need to run a new patch is old versions either do not support the uniform context diff, or they have hard limits on the length of a line (restricting it to 4096 characters).