next up previous contents index
Next: The !passwd Command: Create Up: Update Release Previous: Update Release   Contents   Index

The !update Command: Download/Install Update

Syntax: !update [-f] [-p prefix] [-o osname]
This command can be used to check for, download, and install updates to the program. It makes contact to the distribution area of the Whiteley Research Inc. web site via the internet.

In order to use this command, a .wrpasswd file must be installed in the user's home directory. The !passwd command is used to create this file.

If given without arguments, the command first checks for the existence of a new release. If no newer release is available, the command will print a message indicating that the program is up-to-date and exit. Otherwise, the user is prompted whether to download the distribution file for the new release. If the user agrees, the release file will be downloaded to a temporary directory. Once downloaded, the user is prompted whether to install the new release. If the user agrees, the distribution file will be expanded and the files installed in place of the current release. The present program will still exist (it is always available as the program name with a ``.old'' extension) and the user can continue working. Subsequent invocations of the program will start the new version.

Under Windows, installation will require that the user exit the program. On exit, the interactive installation process will begin automatically.

On other operating systems, a shell window will appear, and the user will be prompted for a password. By default, the shell window uses the ``sudo'' command for password authentication, therefor:

  1. The sudo command must be installed on the system. On FreeBSD, this command can be installed as a port or package, it comes preinstalled on OS X and Red Hat Linux.
  2. The user must have permission to use sudo, which is obtained by adding a line for the user to the /etc/sudoers file.
Note that the user should enter their own password, and not the root password.

This behavior can be modified by setting the InstallCmdFormat variable. In particular, if you don't want to use sudo for some reason, su can be used instead, by setting the InstallCmdFormat variable to the string

xterm -e su root -c \ "%s \ "
In this case, the password entered should be the root password, and only one chance is given to enter the correct password (sudo will re-prompt if the entered password is incorrect).

The !update command can be run separately to download and install the distribution file - if the file is found in the temporary directory, and the -f option is not given, the downloading step is skipped. Beware, however, that if a network hiccup truncates or corrupts the downloaded file, there will be a problem. If this happens, the -f option, which forces downloading even if the file already exists locally, or the system is up-to-date, should be used. Alternatively, the corrupt file can be removed by hand.

The -p prefix argument applies during installation only, and overrides the installation location prefix. If not given, this will default to the prefix used in the current program installation, which defaults to /usr/local. If given, the prefix must be a rooted directory path.

The -o osname argument allows downloading of a distribution that is not the same ``operating system'' as the running program. The osname must be one of the distribution names as used in the distribution repository. The table below lists the currently recognized names, supported in the 3.3 branch of Xic.

Darwin64 Apple OS X x86_64
LinuxRHEL5 Red Hat Enterprise 5 i686
LinuxRHEL5_64 Red Hat Enterprise 5 x86_64
LinuxRHEL6_64 Red Hat Enterprise 6 x86_64
LinuxRHEL7_64 Red Hat Enterprise 7 x86_64
Win32 Microsoft Windows

Then, the corresponding file will be downloaded and installed, if the user affirms each step and installation is possible. The file will be downloaded whether or not the running program is current.

The installation step may well fail if the running operating system is incompatible with the distribution. You can install different versions of Linux on a Linux machine, or Linux on FreeBSD (if the rpm package is installed) for example, but not Win32 on anything but Windows.

next up previous contents index
Next: The !passwd Command: Create Up: Update Release Previous: Update Release   Contents   Index
Stephen R. Whiteley 2017-03-22