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.

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. 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 MSYS2 or 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 MSYS2 or Cygwin installed.

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, and in addition the Xic and WRspice programs found can be saved in Safe Install format. Other safe-installs won't be touched.

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 program names, or partial names that are unique, that match adms, fastcap, fasthenry, mozy, mrouter, vl, wrspice, xic. The arguments can also be the names of package files. Don't change the names of these files! The corresponding package files from the current directory will be unpacked and the programs installed.
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. If a corresponding package is installed, it will be uninstalled.

Copyright © Whiteley Research Inc. 2025