Whiteley Research Incorporated


Safe Install
IC Design Software for Unix/Linux and Windows
Whiteley Research Inc., 456 Flora Vista Avenue, Sunnyvale CA 94086    wrcad.com

Safe Install

The Xic and WRspice packages now implement Safe Install. During an update, the Safe Install feature retains the older release in its entirety as it was, allowing the user to revert to that release if necessary. The user can delete the files to save disk space when through with the release. The Safe Install feature is intended to reduce user anxiety about installing a new release, facilitating keeping up to date, which will benefir the user in the long run.

The Safe Install feature is implemented in the pre- and post-install scripts carried within the package files, which are executed during package installation. This is different from the previous XicTools-4.2, where the setup was performed from the wr_install installation script. Also different is that in 4.3, Safe Install also applies to Microsoft Windows.

Here's the safe install logic, for example for Xic. The present release is installed under xic.current, and the previous release is saved under xic-version (where version is the release number, e.g. 4.2.15), both under /usr/local/xictools (by default). The xic.current directory is symbolically linked as xic in the same directory.

In addition, the executable programs in xictools/xic/bin are symbolically linked into xictools/bin, which is the common "bin" for all XicTools executables. Only this directory needs to be in the user's search path. This is again different from 4.2, where there were no such links to the Xic and WRspice executables, so the respective bins also had to be added to the search path. Recall thatt the xictools/xic is a symbolic link to xic.current, so that the current programs are linked into the search path.

If there is a problem with the new release, or the user wants to run an older release for whatever reason, the maintainer can delete the xictools/xic symbolic link (from xic.current) and create a new symbolic link to one of the saved installations. For example, in Linux or MacOS, as root:

cd /usr/local/xictools
rm xic
ln -s xic-4.2.16 xic
In Windows, if running Cygwin, the same commands as above can be given. Otherwise, from a Command Window
cd c:\usr\local\xictools
rd xic
mklink /j xic xic-4.2.16
Yes, you use "rd" to remove a "junction" link in Windows. To revert, in Linux or MacOS, as root
cd /usr/local/xictools
rm xic
ln -s xic.current
or in native Windows
cd c:\usr\local\xictools
rd xic
mklink /j xic xic.current

Installation Scripts

The Safe Install feature is no longer managed with the wr_install script, so it is not essential to use this for package installation, however it is recommended for convenience, and it takes care of some important clean-up to do before the first 4.3 install, it you have any earlier XicTools installations.

The wr_install script, and a new companion wr_uninstall, are found in the same directories as the package files on the distribution site. Even if you have these, you should always grab fresh copies while downloading new releases in case they have changed.

These scripts can be used in Windows, too, if you have Cygwin installed. For Windows, there are two additional batch scripts: cleanold.bat and uninstall.bat, that should be downloaded. These can be run directly if you don't use Cygwin, or will be called from the other scripts, thus are needed in any case.

It is probably important that all old XicTools program packages be removed from your machine before installing the 4.3 programs. If you use wr_install, this will be done automatically, an in addition the Xic and WRspice programs found can be saved in Safe Install format. Other safe-installs won't be touched.

In Windows, if not running Cygwin, the cleanall.bat program should be run, once only, before any 4.3 programs are installed. This will also provide the optional Safe Install save of existing Xic and WRspice. If running under Cygwin, wr_install will call cleanold.bat.

One can check the script text for usage instructions. The commands are summarized below. In all cases, giving the "-t" option will cause the command to not actually change anything, but to print the sub-commands that would otherwise be run. So, you can see what the command will do before actually running it.

Below, [ ... ] means "optional", the square brackets should not actually appear.

wr_install [-t] <distrib_file> ...
The arguments are the names of package files. Don't change the names of these files!
wr_uninstall [-t] progname ...
The arguments are program names, or partial names that are unique, that match adms, fastcap, fasthenry, mozy, mrouter, vl, wrspice, xic, xtlserv. If a corresponding paclage is installed, it will be uninstalled.
cleanold.bat [-t]
Windows only, performs cleanup and stashing of old installations. This is run from wr_install, or you can run it directly. If you have old XicTools programs installed, it should be run before installing 4.3 packages.
uninstall.bat [-t] progname ...
Windows only, performs the same operation as wr_uninstall, and is in fact called by wr_uninstall. If you don't run Cygwin, run this instead from a DOS box. You can also use the regular Windows remove programs function.

Copyright © Whiteley Research Inc. 2017