[ Home | Main Table Of Contents | Table Of Contents | Keyword Index ]

fx_install_guide(n) 1 doc "FX - Extended Fossil Management"

Name

fx_install_guide - fx - The Installer's Guide

Table Of Contents

Synopsis

  • package require Tcl 8.5

Description

Welcome to fx, an application and set of packages providing extended management commands for the fossil SCM.

Please read the document fx - Introduction to fx, if you have not done so already, to get an overview of the whole system.

The audience of this document is anyone wishing to build the application and its supporting packages, for either themselves, or others.

For a developer intending to extend or modify the packages we additionally provide

  1. fx - License.

  2. fx - The Developer's Guide.

Please read fx - How To Get The Sources first, if that was not done already. Here we assume that the sources are already available in a directory of your choice.

Requisites

Tcl

As we are building a Tcl package and application it should be pretty much obvious that a working installation of Tcl itself is needed, and I will not belabor the point.

Out of the many possibilites use whatever you are comfortable with, as long as it provides Tcl 8.5, or higher. This may be a Tcl installation provided by your operating system distribution, from a distribution-independent vendor, or built by yourself.

Myself, I used (and still use) ActiveState's ActiveTcl 8.5 distribution during development, as I am most familiar with it.

(Disclosure: I, Andreas Kupries, work for ActiveState, maintaining ActiveTcl and TclDevKit for them).

This distribution can be found at http://www.activestate.com/activetcl. Retrieve the archive of ActiveTcl 8.5 for your platform and install it as directed by ActiveState.

Assuming that ActiveTcl got installed I usually run the command

    teacup update

to install all packages ActiveState provides, and the kitchensink, as the distribution itself usually contains only the most important set of packages. This ensures that the dependencies for fx are all present, and more.

If that is not your liking you have to read the other sections about fx's dependencies to determine the exact set of packages required, and install only these using

    teacup install $packagename

Both teacup commands above assume that ActiveState's TEApot repository at http://teapot.activestate.com is in the list of repositories accessible to teacup. This is automatically ensured for the ActiveTcl distribution. Others may have to run

    teacup archive add http://teapot.activestate.com

to make this happen.

For those wishing to build and install Tcl on their own, the relevant sources can be found at

Tcl

http://core.tcl.tk/tcl/

together with the necessary instructions on how to build it.

If there are problems with building, installing, or using Tcl please file a bug against Tcl, or the vendor of your distribution, and not fx.

Kettle

This project uses the Kettle application and package as its build system.

Please go to either the main repository at http://core.tcl.tk/akupries/kettle or the backup at http://chiselapp.com/andreas_kupries/repositories/Kettle and follow the instructions given at these sites to create a working installation. They are not repeated here. If there are problems with these instructions please file a bug against the Kettle project, and not fx.

Linenoise

The framework uses the linenoise package in its implementation. This package requires Tcl 8.5 or higher.

Out of the many possibilites for getting Linenoise (OS vendor, os-independent vendor, building from sources) use whatever you are comfortable with.

For myself, I am most comfortable with using ActiveState's ActiveTcl distribution and TEApot.

See the previous section (Tcl) for disclosure and information on how to get it.

Assuming that ActiveTcl got installed running the command

    teacup install linenoise

will install the package for your platform, if you have not done the more inclusive

    teacup update

to get everything and the kitchensink.

For those wishing to build and install Linenoise on their own, the relevant sources can be found at http://github.com/andreas-kupries/tcl-linenoise together with the necessary instructions on how to build it.

If there are problems with building, installing, or using linenoise please file a bug against Linenoise, or the vendor of your distribution, and not fx.

Cmdr

This project uses the Cmdr framework as the basis of it cli processing.

Please go to either the main repository at http://core.tcl.tk/akupries/cmdr or the backup at http://chiselapp.com/andreas_kupries/repositories/Cmdr and follow the instructions given at these sites to create a working installation. They are not repeated here. If there are problems with these instructions please file a bug against the Cmdr project, and not fx.

Tcllib

fx's internals require the following 11 packages found in Tcllib.

  1. clock::iso8601

  2. debug

  3. debug::caller

  4. interp

  5. lambda

  6. mime

  7. report

  8. smtp

  9. struct::matrix

  10. term::ansi::code::ctrl

  11. textutil::adjust

  12. try

Beyond that however the rest of Kettle will be fully functional.

Out of the many possibilities for getting Tcllib (OS vendor, os-independent vendor, building from sources) use whatever you are comfortable with.

For myself, I am most comfortable with using ActiveState's ActiveTcl distribution and TEApot.

See the previous section (Tcl) for disclosure and information on how to get it.

Assuming that ActiveTcl got installed running the commands

    teacup install clock::iso8601
    teacup install debug
    teacup install debug::caller
    teacup install interp
    teacup install lambda
    teacup install mime
    teacup install report
    teacup install smtp
    teacup install struct::matrix
    teacup install term::ansi::code::ctrl
    teacup install textutil::adjust
    teacup install try

will install them for your platform, if you have not done the more inclusive

    teacup update

to get everything and the kitchensink.

For those wishing to build and install Tcllib on their own, the relevant sources can be found at

Tcllib

http://sourceforge.net/projects/tcllib

together with the necessary instructions on how to build it.

If there are problems with building, installing, or using Tklib and its packages please file a bug against Tklib, or the vendor of your distribution, and not fx

TclOO

The framework uses the TclOO package in its implementation. This package requires Tcl 8.5 or higher.

In Tcl 8.6 the package is part of the core itself, without requiring a separate installation.

For Tcl 8.5 it has to be installed separately.

Out of the many possibilites for getting TclOO (OS vendor, os-independent vendor, building from sources) use whatever you are comfortable with.

For myself, I am most comfortable with using ActiveState's ActiveTcl distribution and TEApot.

See the previous section (Tcl) for disclosure and information on how to get it.

Assuming that ActiveTcl got installed running the command

    teacup install TclOO

will install the package for your platform, if you have not done the more inclusive

    teacup update

to get everything and the kitchensink.

For those wishing to build and install TclOO on their own, the relevant sources can be found at http://core.tcl.tk/tcloo together with the necessary instructions on how to build it.

If there are problems with building, installing, or using TclOO and its packages please file a bug against TclOO, or the vendor of your distribution, and not fx.

Tclx

The project uses the Tclx package in its implementation.

Out of the many possibilites for getting Tclx (OS vendor, os-independent vendor, building from sources) use whatever you are comfortable with.

For myself, I am most comfortable with using ActiveState's ActiveTcl distribution and TEApot.

See the previous section (Tcl) for disclosure and information on how to get it.

Assuming that ActiveTcl got installed running the command

    teacup install Tclx

will install Tclx for your platform, if you have not done the more inclusive

    teacup update

to get everything and the kitchensink.

For those wishing to build and install Tclx on their own, the relevant sources can be found at

Tclx

http://sourceforge.net/projects/tclx

together with the necessary instructions on how to build it.

If there are problems with building, installing, or using Tclx please file a bug against Tclx, or the vendor of your distribution, and not fx.

Sqlite3

The framework uses the sqlite3 package in its implementation.

Out of the many possibilites for getting Sqlite3 (OS vendor, os-independent vendor, building from sources) use whatever you are comfortable with.

For myself, I am most comfortable with using ActiveState's ActiveTcl distribution and TEApot.

See the previous section (Tcl) for disclosure and information on how to get it.

Assuming that ActiveTcl got installed running the command

    teacup install sqlite3

will install the package for your platform, if you have not done the more inclusive

    teacup update

to get everything and the kitchensink.

For those wishing to build and install sqlite3 on their own, the relevant sources (of a TEA-based Tcl extension) can be found at http://sqlite.org/download.html together with the necessary instructions on how to build it.

If there are problems with building, installing, or using Sqlite3 and its packages please file a bug against Sqlite3, or the vendor of your distribution, and not fx.

Build & Installation

To install fx simply run

    /path/to/tclsh8.5 /path/to/fx/build.tcl install

where "/path/to/tclsh8.5" is the tclsh of your Tcl installation, and "/path/to/fx" the location of the fx sources on your system.

This will build the package and application and then places them into directories where the tclsh8.5 will find them. Note that the installed fx application is modified to use the chosen tclsh instead of searching for one on the PATH.

On Windows you can invoke the file "build.tcl" with a double-click. This will pop up a small graphical interface for entering the destination and performing the installation. This handling of a double-click is restricted to Windows only however.

On unix the same GUI is acessible by invoking "build.tcl" using gui instead of install in the example above.

To get help about the methods of "build.tcl", and their complete syntax, invoke "build.tcl" with argument help, i.e., like

    /path/to/tclsh8.5 /path/to/fx/build.tcl help

Other methods for getting various types of help are:

  1. help-recipes

  2. help-options

  3. help

  4. list-recipes

  5. list-options

  6. list

  7. show-configuration

Bugs, Ideas, Feedback

This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such at the fx Tracker. Please also report any ideas for enhancements you may have for either package and/or documentation.

Keywords

fossil, scm

Category

Fossil support