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.
|