#!wish -f # # Example client of the install.tcl infrastructure. # # The commands below set up default values for certain # system-dependent variables in the exmh program. # A dialog box is created that allows you to edit these # values, so you probably won't edit this file directly, # unless you are a developer that is adapting it to your tool. # # Invoke with: # wish -f ./example.install # package require Tk source ./install.tcl set program exmh set vers 2.7.2 set date 01/07/2005 if [catch {package require Tcl 8.0}] { error "Tcl/Tk 8.0 or higher required for exmh. You have $tcl_version" } # Define app name and install save file install_init exmh ./.exmhinstall install_version exmh(version) "version $vers $date" {Exmh Version number} # The following are settings inside exmh that depend on the local environment install_name exmh(name) exmh {Name of main exmh script} install_var exmh(maintainer) welch@acm.org {Target of error mailings} install_dirVar mh_path [installGuessDir /usr/local/bin inc] {MH binary directory} install_progVar exmh(slocal) [installGuessPath /usr/local/lib/mh/slocal slocal] {MH slocal program} install_dirVar mime(dir) [installGuessDir /usr/local/bin metamail] {Metamail bin directory} install_fileVar mailcap_default [installGuessPath /usr/etc/mailcap mailcap] {System mailcap file} install_fileVar mimetypes_default [installGuessPath /usr/local/lib/exmh-$vers/mime.types mime.types] {System mime.types file} install_expect exmh(expect) [installGuessPath /usr/local/bin/expect expect] {expect program} install_progVar exmh(expectk) [installGuessPath /usr/local/bin/expectk expectk] {expectk program} install_dirVar faces(dir) /usr/local/faces/faces {Root dir of faces store} install_var faces(set,user) {local users usenix misc} \ {Search path for user faces} install_var faces(set,unknown) {domains unknown} \ {Search path for generic faces} install_var faces(set,news) {news} {Search path for news faces} install_var faces(defaultDomain) eng.sun.com {Your default domain} install_var faces(suffix) {xpm gif xbm} {Faces file suffixes} install_dirVar pgp(pgp,path) [installGuessDir /usr/local/bin pgp] {Pgp2 bin directory} install_dirVar pgp(pgp5,path) [installGuessDir /usr/local/bin pgpk] {Pgp5 bin directory} install_dirVar pgp(gpg,path) [installGuessDir /usr/local/bin gpg] {GnuPG bin directory} install_dirVar pgp(pgp6,path) [installGuessDir /usr/local/bin pgp6] {Pgp6 bin directory} install_dirVar glimpse(path) [installGuessDir /usr/local/bin glimpse] {Glimpse bin directory} install_var sound(cmd) {/usr/demo/SOUND/play -v 38} \ {Audio play command} install_libDir exmh(library) /usr/local/lib/exmh-$vers {Script library} install_testLib ./lib # The following are installation directories, which you may have to adjust, # and install file patterns (glob/sed), which should not be site dependent. install_dir bin [installGuessDir /usr/local/bin exmh] {Install bin directory} install_glob bin exmh exmh-bg exmh-async ftp.expect inc.expect exmh-strip install_sed .MASTER exmh exmh-bg exmh-async ftp.expect inc.expect exmh-strip install_dir man /usr/man/manl {Install man directory} install_glob man exmh*.l install_dir lib /usr/local/lib/exmh-$vers {Install lib directory} install_glob lib lib/*.tcl lib/*.bitmap lib/*.gif lib/*.ppm lib/help.* lib/*.FAQ lib/tclIndex lib/app-defaults* lib/*.mask lib/*.exp lib/mime.types lib/*.au lib/html lib/PgpDecryptExpect lib/bitmaps # Define test command install_test exec ./exmh & # Main interface install_dialog # User information install_html {
After you read these instructions, click to reveal more buttons that do the installation.
The installer has many fields in a scrolling list. Each field value is used to patch exmh.MASTER in order to make the exmh script. Most of the settings are file or directory names. Make sure the file system pathnames are correct for your system. The fields are described below.
The wish pathname is for the program that runs exmh. Tk 8.0 or higher (e.g., Tk 8.4) is required.
By default, the program is installed as "exmh", and it also uses related scripts named "exmh-bg" and "exmh-async". If you want to install it under an alternate name, use the "Name of main exmh script" setting to change the base name.
You may not have some support programs or packages. In this case, just delete the default value and leave the field blank.
See exmh.README.html for pointers to these.
See exmh.README.html for pointers to these.
Check out the optional slocal.patch and folder.patch files. These are optional - see the man page for details.
(The following are for optional packages. Leave them blank if you do not have the related package. There are more required fields described after these)
Faces example: Suppose you have a directory /usr/local/faces that contains these subdirectories: domains, misc, unknown, usenix, users, and local. /usr/local/faces is your "Root for faces". Each of the subdirs is the root of a directory hierarchy that mirrors domain names. You'll have domains/com, domains/edu, as well as users/com and users/edu, for example. The databases are split into user and generic categories to help find real faces before more generic icons.
Note that the "Script Library" and the "Install lib directory" are usually the same place. The script library is the runtime value of the library directory, while the install lib directory is the install-time value. Ordinarily they should be the same. If you have AFS, you might need to set these two differently because of read-only volumes.
The "Install lib Library" should be private to exmh (unshared with other apps). In addition, it cannot be the same place as ./lib. You have to let the install procedure copy the TCL library files elsewhere. The Verify does not check for this, and you'll get an error on audi.tcl as it removes itself before copying onto itself...
The Test button runs exmh and automatically switches the script library run-time value to "./lib" for the duration of the test.
When you press "Patch" the configuration is saved in the file named .exmhinstall. If you save this to an alternate name (e.g., .exmhinstall.sun4) you can use the button to choose among ../*/.exmhinstall* files.
After you set things up, then