Home / Tools / Faxien / Reference Manual

Faxien Command List

This summary of commands first presents the commands that are most frequently used followed by all remaining commands available through the Faxien commandline interface.

Frequently Used Command Summary

Type faxien help commands from the command line to get a list of Faxien commands.

help

$ faxien help
$ faxien help commands
$ faxien help <command>

Prints out help information for Faxien.

list

$faxien list [search_type] [pattern]

Prints out all the applications that have the pattern specified. If no pattern is provided it lists all available applications and releases. Search type can be either normal or regexp. A normal search like the following

$ faxien list yaw

would yield "yaws" as a result.

$ faxien list regexp y[aw]*s

would also yield "yaws," though why anyone would ever type such a thing I don't know.

install-release

$ faxien install-release <release_name|path_to_package> [version]

This command fetches a release from a respository and installs it onto the local file system if you specify a release name. The default location is /usr/local/erlware. If you specify the path to an untarred package or a tarred package with the extension .tar.gz Faxien will install that package from the hard disk.

Note Note if you want to install for an erts vsn other than the default erts vsn you must tell faxien that. To see the default erts vsn use faxien show-target-erts-vsn and to set a new one use faxien set-target-erts-vsn <erts-vsn>. For example 5.6.1 is for R12B-1.

Example Usage

$ faxien install-release sinan  ## Installs the release from a remote repository
$ faxien install-release /home/martin/sinan.tar.gz  ## installs a local release tarball

install-app

$ faxien install-release <app_name|path_to_app_package> [version]

This command fetches an application from a respository and installs it onto the local file system. This will also install an application package from the local file system.

Example Usage

$ faxien install-app fslib  ## Installs the application from
                            ## a remote repository
$ faxien install-app fslib 5.7.3 ## Installs version 5.7.3 of the
                                 ## application from a remote repository
$ faxien install-app /home/martin/fslib.tar.gz  ## installs a local
                                                ## application tarball

publish

$ faxien publish [repo_url] <path_to_app_or_release> [request_timeout]

Publishes a pre-built application or a release to a remote unguarded repository. This function tries to infer whether the package is a architecture specific application, a platform independent application, or a release. Release packages follow the structure for releases as outlined by erlware.org. A release directory must be of the form <release_name>-<release_vsn> in order to be published. An application directory may be of that form but does not have to be as this function will determine the version number via the app file provided in the ebin directory of the application. Once published the code is then available for immediate use by any application is erlware repo compatible such as Sinan.

Note Timeout values are in milliseconds

Example Usage

$ faxien publish /home/martin/my_app.tar.gz  ## Publish a tarred
                                             ## application package to the
                                             ## configured default remote
                                             ## repo
$ faxien publish /home/martin/my_release 10000  ## Publish an untarred
                                                ## release package to the
                                                ## configured default
                                                ## remote repo with a
                                                ## request timeout of 10
                                                ## seconds
$ faxien publish http://erlware.org/writable /home/martin/my_release  ## publish
                                                ## an untarred release
                                                ## package to a specific
                                                ## remote repository

set-target-erts-vsn

$ faxien set-target-erts-vsn <erts-vsn>

Sets the upper limit on the erts vsn that faxien will seek to pull packages for. For example if a user wants to target R12B for which the latest release is R12B-1 which carries an erts vsn of 5.6.1 the target erts vsn should be set to 5.6.1. Faxien will then seek to pull packages in decending order from 5.6.1 to 5.6.

Note to see the current target erts vsn type faxien show-target-erts-vsn

Example Usage

$ faxien set-target-erts-vsn 5.5.5

More Commands

For a complete listing of all commands type faxien help commands at the commandline. Here are a few.

upgrade-release

$ faxien upgrade-release [release_name]

Upgrades all installed releases when used with no argument. Upgrades a specific release if a release name is provided.

Example Usage

$ faxien upgrade-release
$ faxien upgrade-release sinan

upgrade-app

$ faxien upgrade-app [app_name]

Upgrades all installed applications when used with no argument. Upgrades a specific application if an application name is provided.

Example Usage

$ faxien upgrade-app
$ faxien upgrade-app gas

version

$ faxien version

Prints out the current Faxien version.

show-publish-repos

$ faxien show-publish-repos

show the repos that will be published to when the publish command is run.

add-publish-repo

$ faxien add-publish-repo <repo>

add a repo to publish to when the publish command is run.

show-repos

$ faxien show-repos <repo>

show the list of repos to fetch from when the install and install-app commands are executed.

add-repo

$ faxien add-repo <repo>

add a repo to the list of repos to fetch from when the install and install-app commands are executed.

remove-repo

$ faxien remove-repo <repo>

remove a repo from the list of repos to fetch from when the install and install-app commands are executed.