smithy - Smithy will help you build, test, and install software with ease.¶ ↑
v1.6.5
Global Options¶ ↑
–arch NAME¶ ↑
Machine architecure to operate on
- Default Value
-
None
–config-file FILE¶ ↑
Alternate config file, also set by $SMITHY_CONFIG
- Default Value
-
None
–descriptions-root PATH¶ ↑
The root level directory global description files
- Default Value
-
None
–file-group-name GROUP¶ ↑
Group name for files created by smithy
- Default Value
-
None
–software-root PATH¶ ↑
The root level directory for software
- Default Value
-
None
–web-root PATH¶ ↑
The root level directory for published web files
- Default Value
-
None
–[no-]colors¶ ↑
Disable or enable color output
–disable-group-writable¶ ↑
Disable group writable file creation
-f|–force¶ ↑
Always overwrite existing files
–help¶ ↑
Show this message
-v|–verbose¶ ↑
Be more verbose
–version¶ ↑
Display the program version
Commands¶ ↑
Command: build PATH
¶ ↑
Build software
The software to build may be either the absolute path or the full name of the software. The full name includes version numbers and build names using the format: APPLICATION/VERSION/BUILD.
Options¶ ↑
–log-name FILE¶ ↑
Build log file name located within the software prefix.
- Default Value
-
build.log
–disable-log¶ ↑
Disable logging
-f|–force¶ ↑
Ignore .lock file and run anyway
-n|–dry-run¶ ↑
See what scripts will be run without running them
-s|–suppress-stdout¶ ↑
Suppress messages from STDOUT.
Command: edit build|test|env|modulefile NAME
¶ ↑
Edit package support files
Options¶ ↑
-e|–editor BINARY¶ ↑
Editor for opening script files
- Default Value
-
None
-s|–split¶ ↑
Split editing window with requested file and the environment (remodule) file
Command: formula
¶ ↑
Install software from predefined formulas
Options¶ ↑
-d|–directories PATH¶ ↑
Specify one or more additional formula directories separated with commas
- Default Value
-
None
Commands¶ ↑
Command: create_modulefile APPLICATION | APPLICATION/VERSION | APPLICATION/VERSION/BUILD
¶ ↑
Create a modulefile for a given package
Options¶ ↑
-f|–formula-name NAME¶ ↑
Formula name
- Default Value
-
None
Command: display FORMULA
¶ ↑
Display a formula
Command: install APPLICATION | APPLICATION/VERSION | APPLICATION/VERSION/BUILD
¶ ↑
Install a package using a formula
Options¶ ↑
-f|–formula-name NAME¶ ↑
Formula name
- Default Value
-
None
-c|–clean¶ ↑
Clean exiting install prefix
-m|–modulefile¶ ↑
Create modulefiles as well
Command: list
¶ ↑
List known formulas
Command: new URL
¶ ↑
Create a new formula
Options¶ ↑
-h|–homepage URL¶ ↑
Formula homepage
- Default Value
-
None
-n|–name NAME¶ ↑
Formula name
- Default Value
-
None
Command: which FORMULA
¶ ↑
Display a formula location
Command: help command
¶ ↑
Shows a list of commands or help for one command
Gets help for the application or its commands. Can also list the commands in a way helpful to creating a bash-style completion function
Options¶ ↑
-c¶ ↑
List commands one per line, to assist with shell completion
Command: module NAME
¶ ↑
Manage modulefiles for a package
Options¶ ↑
-n|–dry-run¶ ↑
See what files will be created without creating them
Commands¶ ↑
Command: create
¶ ↑
Generate a modulefile for a given package. This operation normally happens after creating a new package. It is provided separately here for use with existing packages.
Command: deploy
¶ ↑
Copy a package’s modulefile to the system module path. This is typically done after you have tested a new module in isolation.
Command: edit
¶ ↑
alias for ‘smithy edit modulefile’
Command: use
¶ ↑
Run the proper module command to add a package’s modulefile to the MODULEPATH. This allows you to edit and test a modulefile in isolation. By adding the correct directory to MODULEPATH you may run module commands as you normally would.
Command: new NAME
¶ ↑
Generate a new build and all necessary files
The new command will create all necessary files needed to add a new software package. Some care should be given to naming new packages. Some considerations are package names, version numbers, and build names. New package names should be of the format APPLICATION/VERSION/BUILD
-
APPLICATION of the package should be all lower case and one word. If multiple words are necessary separate them with dashes ‘-’.
-
VERSION numbers should be standard numbers separated by periods. If another format is necessary ensure that the numbers can be lexigraphically sorted in order of oldest release to newest.
-
BUILD names should consist of two pieces of information separated by an underscore ‘_’, the package’s intended operating system and compiler.
EXAMPLES:
silo/4.8/sles11.1_gnu4.5.3 fftw/3.2.2/cle4.0_pgi11.10.0
Options¶ ↑
-e|–existing-scripts PATH¶ ↑
Use an existing software’s build scripts
- Default Value
-
None
-t|–tarball|–tarfile FILE|URL¶ ↑
Provide a tarball to unpack, either a file or URL (optional)
- Default Value
-
None
-n|–dry-run¶ ↑
See what files will be created when running new without creating them
–skip-modulefile¶ ↑
Skip modulefile generation
–web-description¶ ↑
Create description file for website
Command: publish NAME
¶ ↑
Publish packages to web
Options¶ ↑
-n|–dry-run¶ ↑
See what files will be created without creating them
Command: reindex
¶ ↑
reindex auto-completion cache
Command: repair NAME
¶ ↑
Repair a package
Repair permissions and check that files exist
Options¶ ↑
-n|–dry-run¶ ↑
Verify permissions only
Command: search PATTERN
¶ ↑
Search currently installed software
Options¶ ↑
–format path|name|table|csv|dokuwiki¶ ↑
Format of the output
- Default Value
-
path
Command: show
¶ ↑
Display internal smithy values
Commands¶ ↑
Command: arch
¶ ↑
List all architectures know to smithy.
Options¶ ↑
-a|–all¶ ↑
list all architectures
Command: example_config
¶ ↑
Display an example config file.
Command: last
¶ ↑
Display the package name used in the last smithy command. This is stored in the ‘~/.smithyrc’ file.
Command: test
¶ ↑
Test software
Options¶ ↑
–log-name FILE¶ ↑
Test log file name located within the software prefix.
- Default Value
-
test.log
–disable-log¶ ↑
Disable logging
-f|–force¶ ↑
Ignore .lock file and run anyway
-n|–dry-run¶ ↑
See what scripts will be run without running them
-s|–suppress-stdout¶ ↑
Suppress messages from STDOUT.