software_smithy 1.1 → 1.6

Sign up to get free protection for your applications and to get access to all the features.
data/lib/smithy.rb CHANGED
@@ -42,4 +42,7 @@ require 'smithy/format'
42
42
  require 'smithy/package'
43
43
  require 'smithy/module_file'
44
44
  require 'smithy/description'
45
+ require 'smithy/download_cache'
45
46
  require 'smithy/file_operations'
47
+ require 'smithy/formula'
48
+ require 'smithy/formula_command'
@@ -36,5 +36,5 @@
36
36
  # }}}
37
37
 
38
38
  module Smithy
39
- VERSION = '1.1'
39
+ VERSION = '1.6'
40
40
  end
data/man/man1/smithy.1 CHANGED
@@ -1,60 +1,254 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "SMITHY" "1" "November 2012" "" ""
4
+ .TH "SMITHY" "1" "August 2013" "" ""
5
5
  .
6
6
  .SH "NAME"
7
- \fBsmithy\fR \- build, test, and install software with ease\.
7
+ \fBsmithy\fR \- build, test, and install software with ease
8
8
  .
9
9
  .SH "SYNOPSIS"
10
10
  \fBsmithy\fR \fBnew\fR APPLICATION/VERSION/BUILD
11
11
  .
12
12
  .br
13
- \fBsmithy\fR \fBedit\fR last
13
+ \fBsmithy\fR \fBedit\fR APPLICATION/VERSION/BUILD
14
14
  .
15
15
  .br
16
- \fBsmithy\fR \fBbuild\fR last
16
+ \fBsmithy\fR \fBbuild\fR APPLICATION/VERSION/BUILD
17
+ .
18
+ .br
19
+ \fBsmithy\fR \fBformula install\fR APPLICATION/VERSION/BUILD
17
20
  .
18
21
  .br
19
22
  .
20
23
  .SH "DESCRIPTION"
21
- \fBsmithy\fR will help you get software installed quickly and painlessly\. This tool follows all the same conventions as swtools\. That is, directory structures, support files, and scripts are all in the same locations\. Smithy\'s goal is to make using those conventions easier\.
24
+ \fBsmithy\fR is a command line software installation tool that borrows ideas heavily from the excellent homebrew \fIhttp://brew\.sh/\fR package management system for Mac OS X and SWTools \fIhttp://www\.olcf\.ornl\.gov/center\-projects/swtools/\fR\.
22
25
  .
23
26
  .P
24
- This is still a work in progress\. If you have any questions, suggestions, or encounter any errors please send me an email: anthonyd@ornl\.gov
27
+ This is still a work in progress\. If you have any questions, suggestions, or encounter any errors please open an issue on github at \fIhttps://github\.com/AnthonyDiGirolamo/smithy/issues\fR\.
25
28
  .
26
- .SH "COMMANDS"
29
+ .SH "COMMAND LINE HELP"
27
30
  For help on all options and commands run \fBsmithy help\fR
28
31
  .
29
- .SH "EXAMPLES"
30
- This section shows the typical work\-flow for adding a new software build\. Let\'s imagine we want to install petsc 3\.2 using the cray compiler\. We must create a place for the software build, build it, and create a module\.
32
+ .br
33
+ For help on a specific command run \fBsmithy help COMMAND\fR or \fBsmithy help COMMAND SUBCOMMAND\fR
34
+ .
35
+ .SH "SOFTWARE INSTALLATION METHODS"
36
+ There are two ways of installing software using smithy:
37
+ .
38
+ .IP "\(bu" 4
39
+ \fBbuild scripts\fR (similar to swtools)
40
+ .
41
+ .IP "\(bu" 4
42
+ \fBformulas\fR (similar to homebrew)
43
+ .
44
+ .IP "" 0
45
+ .
46
+ .SH "BUILD SCRIPTS"
47
+ Build scripts are shell scripts that live inside of a package\'s PREFIX and execute the steps required to perform the compilation\. A hierarchy might look something like this:
48
+ .
49
+ .IP "" 4
50
+ .
51
+ .nf
52
+
53
+ /sw/xk6/subversion/1\.6\.17
54
+ `\-\-\- sles11\.1_gnu4\.3\.4
55
+ `\-\-\- bin
56
+ `\-\-\- build\-notes
57
+ `\-\-\- dependencies
58
+ `\-\-\- include
59
+ `\-\-\- lib
60
+ `\-\-\- rebuild
61
+ `\-\-\- relink
62
+ `\-\-\- remodule
63
+ `\-\-\- retest
64
+ `\-\-\- share
65
+ `\-\-\- subversion\-1\.6\.17
66
+ .
67
+ .fi
68
+ .
69
+ .IP "" 0
31
70
  .
32
71
  .P
33
- Note: all commands, options, and arguments have tab\-completion when using bash or zsh
72
+ The prefix for the above package is \fB/sw/xk6/subversion/1\.6\.17/sles11\.1_gnu4\.3\.4\fR within this directory you can see the usual \fBbin/include/lib/share\fR folders\. Additionally there is the source directory \fBsubversion\-1\.6\.17\fR and three build scripts \fBrebuild\fR, \fBrelink\fR, and \fBremodule\fR\. The \fBrebuild\fR script will compile the software and set the prefix while the remodule script sets up the environment including loading modulefiles\.
34
73
  .
35
- .SS "1\. Creating The Build"
74
+ .SH "FORMULAS"
75
+ The Problem with build scripts is that they are duplicated for every software installation\. This makes installing new software difficult because you will have to go back and look at old ones and copy relevant steps to a new rebuild script\. So much for don\'t repeat yourself!
76
+ .
77
+ .P
78
+ An alternative is to use formulas\. This idea is heavily borrowed from the wonderful homebrew \fIhttp://brew\.sh/\fR package management system for Mac OS X\. With a formula you can specify the modules to load, extra package dependencies, installation steps, and the modulefile in a single file\. The formulas are written in ruby and can be as flexible and dynamic as you like\.
79
+ .
80
+ .P
81
+ A package installed with a formula has a simpler prefix directory structure\. The only addition is the source files under the source directory\.
82
+ .
83
+ .IP "" 4
84
+ .
85
+ .nf
86
+
87
+ /sw/xk6/subversion/1\.7\.8
88
+ `\-\-\- sles11\.1_gnu4\.3\.4
89
+ `\-\-\- bin
90
+ `\-\-\- include
91
+ `\-\-\- lib
92
+ `\-\-\- source
93
+ `\-\-\- share
94
+ .
95
+ .fi
96
+ .
97
+ .IP "" 0
98
+ .
99
+ .SH "NAMING SOFTWARE BUILDS"
36
100
  All software builds have the following name format: \fBAPPLICATION/VERSION/BUILD\fR That is three different parts separated by forward slashes \fB/\fR Each part consists of:
37
101
  .
38
- .TP
39
- \fBAPPLICATION\fR
102
+ .SS "APPLICATION"
40
103
  The name using lowercase characters
41
104
  .
42
- .TP
43
- \fBVERSION\fR
44
- Numbers with periods\. I recommend that whatever you choose as a version allows it to be lexigraphically sorted from oldest to newest\.
105
+ .SS "VERSION"
106
+ Numbers with periods\. I recommend that whatever you choose as a version allows it to be lexigraphically sorted from oldest to newest\. For example use 2013\-02\-14 instead of Feb14\-2013\.
45
107
  .
46
- .TP
47
- \fBBUILD\fR
48
- Build is somewhat different, it consists of the intended operating system and compiler separated by underscores (\fB_\fR)\. It is important to use compiler version numbers that correspond to module versions\. This will allow smithy to auto\-generate modulefiles for software with multiple builds\. As an example:
108
+ .SS "BUILD"
109
+ Build is somewhat different, it consists of the intended operating system and compiler separated by underscores \fB_\fR\. It is important to use compiler version numbers that correspond to module versions\. This will allow smithy to auto\-generate modulefiles for software with multiple builds\.
49
110
  .
50
- .IP
111
+ .P
51
112
  \fBsles11\.1_gnu4\.6\.2\fR corresponds to SuSE Linux Enterprise Server 11\.1 and the GNU gcc compiler 4\.6\.2
52
113
  .
53
- .IP
114
+ .P
54
115
  \fBcle4\.0_pgi12\.1\.0\fR corresponds to Cray Linux Environment 4\.0 and the PGI 12\.1\.0 compile
55
116
  .
56
117
  .P
57
- Let\'s use \fBpetsc/3\.2/cle4\.0_cray8\.0\.1\fR as the name\. This would be petsc designed to run on a cle4\.0 compute node and compiled with the cray cce 8\.0\.1 compiler\. This can be accomplished by running:
118
+ You may also add any other details relevant to the build\. For instance, add python2\.7 to the build name of a python module compiled for python2\.7 and python3\.3 for python3\.3\.
119
+ .
120
+ .SH "INSTALLATIONS WITH FORMULAS"
121
+ For details on writing formulas please see the smithyformula(5) man page\. This section covers only how to install software using existing formulas\.
122
+ .
123
+ .P
124
+ Smithy formula sub\-commands include:
125
+ .
126
+ .TP
127
+ \fBnew\fR
128
+ Create a new formula
129
+ .
130
+ .TP
131
+ \fBlist\fR
132
+ List known formulas
133
+ .
134
+ .TP
135
+ \fBwhich\fR
136
+ Display a formula location
137
+ .
138
+ .TP
139
+ \fBdisplay\fR
140
+ Display a formula
141
+ .
142
+ .TP
143
+ \fBinstall\fR
144
+ Install a package using a formula
145
+ .
146
+ .TP
147
+ \fBcreate_modulefile\fR
148
+ Create a modulefile for a given package
149
+ .
150
+ .P
151
+ Once a formula has been written installing is straightforward using the install command\. For example to install subversion to your software root under the \fBsubversion/1\.7\.8/sles11\.1_gnu4\.3\.4\fR directory you might run:
152
+ .
153
+ .IP "" 4
154
+ .
155
+ .nf
156
+
157
+ smithy formula install subversion/1\.7\.8/sles11\.1_gnu4\.3\.4
158
+ .
159
+ .fi
160
+ .
161
+ .IP "" 0
162
+ .
163
+ .P
164
+ See \fINAMING SOFTWARE BUILDS\fR for details on naming a software build\. The format of the install sub\-command is: \fBsmithy formula install [command options] APPLICATION | APPLICATION/VERSION | APPLICATION/VERSION/BUILD\fR\. The options and arguments include:
165
+ .
166
+ .TP
167
+ \fB\-\-[no\-]clean\fR
168
+ This will delete all existing files in the target directory before performing the installation\.
169
+ .
170
+ .TP
171
+ \fB\-\-formula\-name\fR
172
+ By default smithy will guess the formula name based on the target directory APPLICATION/VERSION/BUILD argument\. You may wish you install to a location named differently than a formula\. In this case, use \fB\-\-formula\-name\fR to define which formula to use\.
173
+ .
174
+ .TP
175
+ \fBAPPLICATION | APPLICATION/VERSION | APPLICATION/VERSION/BUILD\fR
176
+ This is the destination directory that the software will be installed in\. If you omit the BUILD or VERSION/BUILD directories smithy will try to guess the version based on the formula, and the build based on the operating system and version of gcc available\. If in doubt, specify the full destination\.
177
+ .
178
+ .P
179
+ Assuming we install subversion with the previous command and our software\-root is \fB/sw/xk6/\fR the finished directory structure would look like:
180
+ .
181
+ .IP "" 4
182
+ .
183
+ .nf
184
+
185
+ /sw/xk6/subversion/1\.7\.8
186
+ `\-\-\- modulefile
187
+ | `\-\-\- subversion
188
+ | `\-\-\- 1\.7\.8
189
+ `\-\-\- sles11\.1_gnu4\.3\.4
190
+ `\-\-\- bin
191
+ `\-\-\- include
192
+ `\-\-\- lib
193
+ `\-\-\- source
194
+ `\-\-\- share
195
+ .
196
+ .fi
197
+ .
198
+ .IP "" 0
199
+ .
200
+ .P
201
+ A \fBmodulefile\fR folder will be created alongside the \fBsles11\.1_gnu4\.3\.4\fR build directory so that the modulefile can be tested\. To test the modulefile you need to add the modulefile folder to the \fB$MODULEPATH\fR environment variable\. Running any of the following will do this:
202
+ .
203
+ .IP "" 4
204
+ .
205
+ .nf
206
+
207
+ smithy module use last
208
+ smithy module use subversion/1\.7\.8/sles11\.1_gnu4\.3\.4
209
+ module use /sw/xk6/subversion/1\.7\.8/modulefile/subversion
210
+ .
211
+ .fi
212
+ .
213
+ .IP "" 0
214
+ .
215
+ .P
216
+ \fBlast\fR is an alias to the last software build smithy worked on\. \fBsmithy show last\fR will display the last build you worked on\.
217
+ .
218
+ .P
219
+ Once loaded, you should be able to interact with the new module file as normal using:
220
+ .
221
+ .IP "" 4
222
+ .
223
+ .nf
224
+
225
+ module avail subversion/1\.7\.8
226
+ module display subversion/1\.7\.8
227
+ module load subversion/1\.7\.8
228
+ .
229
+ .fi
230
+ .
231
+ .IP "" 0
232
+ .
233
+ .P
234
+ You can now deploy the module to make it available to other users\. This should be done once you\'re confident the modulefile is working properly\. To do so run either:
235
+ .
236
+ .IP "" 4
237
+ .
238
+ .nf
239
+
240
+ smithy module deploy last
241
+ smithy module deploy subversion/1\.7\.8/sles11\.1_gnu4\.3\.4
242
+ .
243
+ .fi
244
+ .
245
+ .IP "" 0
246
+ .
247
+ .SH "INSTALLATIONS WITH BUILD SCRIPTS"
248
+ This section shows the typical work\-flow for adding a new software build using build scripts\. Let\'s imagine we want to install petsc 3\.2 using the cray compiler\. We must create a place for the software build, build it, and create a module\.
249
+ .
250
+ .SS "1\. Creating The Build"
251
+ Let\'s use \fBpetsc/3\.2/cle4\.0_cray8\.0\.1\fR as the name for our new package\. See \fINAMING SOFTWARE BUILDS\fR for details on naming a software build\. This would be petsc designed to run on a cle4\.0 compute node and compiled with the cray cce 8\.0\.1 compiler\. This can be accomplished by running:
58
252
  .
59
253
  .IP "" 4
60
254
  .
@@ -67,13 +261,13 @@ smithy new petsc/3\.2/cle4\.0_cray8\.0\.1
67
261
  .IP "" 0
68
262
  .
69
263
  .P
70
- You can save yourself some extra time by telling smithy where the tar file for petsc is:
264
+ You can save yourself some extra time by telling smithy where the source tar file for petsc is:
71
265
  .
72
266
  .IP "" 4
73
267
  .
74
268
  .nf
75
269
 
76
- smithy new \-t /sw/sources/petsc/3\.2/petsc\-lite\-3\.2\-p7\.tar\.gz petsc/3\.2/cle4\.0_cray8\.0\.1
270
+ smithy new \-t petsc\-3\.2\-p7\.tar\.gz petsc/3\.2/cle4\.0_cray8\.0\.1
77
271
  .
78
272
  .fi
79
273
  .
@@ -83,9 +277,25 @@ smithy new \-t /sw/sources/petsc/3\.2/petsc\-lite\-3\.2\-p7\.tar\.gz petsc/3\.2/
83
277
  When using the \fB\-t\fR, \fB\-\-tarfile=\fR option smithy will extract the given archive to the \fBsource\fR directory\. For the petsc example above this would be \fB/sw/xk6/petsc/3\.2/cle4\.0_cray8\.0\.1/source\fR
84
278
  .
85
279
  .P
86
- If this is a brand new piece of software add the \fB\-\-web\-description\fR switch\. This will create the application description files too\.
280
+ The \fB\-t\fR option can also download an archive from a given URL\. The archive is saved along side the source directory\. As an example:
281
+ .
282
+ .IP "" 4
283
+ .
284
+ .nf
285
+
286
+ smithy new \-t http://ftp\.mcs\.anl\.gov/pub/petsc/release\-snapshots/petsc\-3\.2\-p7\.tar\.gz petsc/3\.2/cle4\.0_cray8\.0\.1
287
+ .
288
+ .fi
289
+ .
290
+ .IP "" 0
291
+ .
292
+ .P
293
+ This command will download petsc\-3\.2\-p7\.tar\.gz, save it to \fB/sw/xk6/petsc/3\.2/cle4\.0_cray8\.0\.1/petsc\-3\.2\-p7\.tar\.gz\fR and extract it to \fB/sw/xk6/petsc/3\.2/cle4\.0_cray8\.0\.1/source\fR\. This feature requires the \fBcurl\fR command to work properly\.
294
+ .
295
+ .P
296
+ Additionally, if this is a brand new piece of software add the \fB\-\-web\-description\fR switch\. This will create the application description files too\.
87
297
  .
88
- .SS "2\. Editing and Building the Software:"
298
+ .SS "2\. Editing and Building the Software"
89
299
  Once you have created the build you may need to update the build (\fBrebuild\fR) and environment (\fBremodule\fR) scripts before building the software\. Both files live within the software prefix\. For our example it is located in \fB/sw/xk6/petsc/3\.2/cle4\.0_cray8\.0\.1\fR\. You can edit this and other related files using the \fBedit\fR command:
90
300
  .
91
301
  .IP "" 4
@@ -130,7 +340,7 @@ smithy build last
130
340
  .P
131
341
  The results of the run will be shown on the screen and simultaneously logged to \fBbuild\.log\fR withing the software prefix folder\.
132
342
  .
133
- .SS "3\. Create and edit a modulefile:"
343
+ .SS "3\. Create and edit a modulefile"
134
344
  This step is best done after all builds for a particular application have been created\. When you create a new software build a modulefile is created too\. For our petsc install it lives in: \fB/sw/xk6/petsc/3\.2/modulefile\fR All builds of a particular application share a single modulefile\.
135
345
  .
136
346
  .P
@@ -207,7 +417,7 @@ smithy module deploy last
207
417
  For out petsc example, this command will copy \fB/sw/xk6/petsc/3\.2/modulefile/petsc/3\.2\fR to \fB/sw/xk6/modulefiles/petsc/3\.2\fR
208
418
  .
209
419
  .SS "4\. Website Description"
210
- If this is a new application you will need to add some information to the description file\. For petsc this lives in: \fB/sw/xk6/petsc/description\fR This is an html formatted file\. Alternatively, it can live in \fB/sw/xk6/petsc/description\.markdown\fR this file is in markdown format and is a bit simpler to write than html\. See http://kramdown\.rubyforge\.org/quickref\.html for more information on markdown syntax\. If both files exist, the markdown file takes precedence\.
420
+ If this is a new application you will need to add some information to the description file\. For petsc this lives in: \fB/sw/xk6/petsc/description\fR This is an html formatted file\. Alternatively, it can live in \fB/sw/xk6/petsc/description\.markdown\fR this file is in markdown format and is a bit simpler to write than html\. See \fIhttp://kramdown\.rubyforge\.org/quickref\.html\fR for more information on markdown syntax\. If both files exist, the markdown file takes precedence\.
211
421
  .
212
422
  .P
213
423
  If the description file is missing you can generate one by running:
@@ -235,28 +445,5 @@ smithy publish petsc
235
445
  .
236
446
  .IP "" 0
237
447
  .
238
- .SH "LICENSE"
239
- Smithy is freely available under the terms of the BSD license given below\.
240
- .
241
- .P
242
- Copyright (c) 2012\. UT\-BATTELLE, LLC\. All rights reserved\.
243
- .
244
- .P
245
- Produced at the National Center for Computational Sciences in Oak Ridge National Laboratory\.
246
- .
247
- .P
248
- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
249
- .
250
- .IP "\(bu" 4
251
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer\.
252
- .
253
- .IP "\(bu" 4
254
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution\.
255
- .
256
- .IP "\(bu" 4
257
- Neither the name of the UT\-BATTELLE nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission\.
258
- .
259
- .IP "" 0
260
- .
261
- .P
262
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED\. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE\.
448
+ .SH "SEE ALSO"
449
+ smithyformula(5)
data/smithy.rdoc CHANGED
@@ -1,6 +1,6 @@
1
1
  == smithy - Smithy will help you build, test, and install software with ease.
2
2
 
3
- v1.1
3
+ v1.6
4
4
 
5
5
  === Global Options
6
6
  === --arch NAME
@@ -53,7 +53,7 @@ The root level directory for published web files
53
53
 
54
54
 
55
55
  === --[no-]colors
56
- Disable or enable color output (default: enabled)
56
+ Disable or enable color output
57
57
 
58
58
 
59
59
 
@@ -72,16 +72,21 @@ Show this message
72
72
 
73
73
 
74
74
 
75
- === --version
75
+ === -v|--verbose
76
+ Be more verbose
77
+
76
78
 
77
79
 
80
+ === --version
81
+ Display the program version
82
+
78
83
 
79
84
 
80
85
  === Commands
81
86
  ==== Command: <tt>build PATH</tt>
82
87
  Build software
83
88
 
84
- 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: NAME/VERSION/BUILD.
89
+ 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.
85
90
  ===== Options
86
91
  ===== --log-name FILE
87
92
 
@@ -127,6 +132,84 @@ Split editing window with requested file and the environment (remodule) file
127
132
 
128
133
 
129
134
 
135
+ ==== Command: <tt>formula </tt>
136
+ Install software from predefined formulas
137
+
138
+
139
+ ===== Options
140
+ ===== -d|--directories PATH
141
+
142
+ Specify one or more additional formula directories separated with commas
143
+
144
+ [Default Value] None
145
+
146
+
147
+ ===== Commands
148
+ ====== Command: <tt>create_modulefile APPLICATION | APPLICATION/VERSION | APPLICATION/VERSION/BUILD</tt>
149
+ Create a modulefile for a given package
150
+
151
+
152
+ ======= Options
153
+ ======= -f|--formula-name NAME
154
+
155
+ Formula name
156
+
157
+ [Default Value] None
158
+
159
+
160
+ ====== Command: <tt>display FORMULA</tt>
161
+ Display a formula
162
+
163
+
164
+ ====== Command: <tt>install APPLICATION | APPLICATION/VERSION | APPLICATION/VERSION/BUILD</tt>
165
+ Install a package using a formula
166
+
167
+
168
+ ======= Options
169
+ ======= -f|--formula-name NAME
170
+
171
+ Formula name
172
+
173
+ [Default Value] None
174
+
175
+
176
+ ======= -c|--[no-]clean
177
+ Clean exiting install prefix
178
+
179
+
180
+
181
+ ======= -m|--modulefile
182
+ Create modulefiles as well
183
+
184
+
185
+
186
+ ====== Command: <tt>list </tt>
187
+ List known formulas
188
+
189
+
190
+ ====== Command: <tt>new URL</tt>
191
+ Create a new formula
192
+
193
+
194
+ ======= Options
195
+ ======= -h|--homepage URL
196
+
197
+ Formula homepage
198
+
199
+ [Default Value] None
200
+
201
+
202
+ ======= -n|--name NAME
203
+
204
+ Formula name
205
+
206
+ [Default Value] None
207
+
208
+
209
+ ====== Command: <tt>which FORMULA</tt>
210
+ Display a formula location
211
+
212
+
130
213
  ==== Command: <tt>help command</tt>
131
214
  Shows a list of commands or help for one command
132
215
 
@@ -167,9 +250,9 @@ Run the proper module command to add a package's modulefile to the MODULEPATH. T
167
250
  ==== Command: <tt>new NAME</tt>
168
251
  Generate a new build and all necessary files
169
252
 
170
- 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 NAME/VERSION/BUILD
253
+ 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
171
254
 
172
- - NAME of the package should be all lower case and one word. If multiple words are necessary separate them with dashes '-'.
255
+ - APPLICATION of the package should be all lower case and one word. If multiple words are necessary separate them with dashes '-'.
173
256
 
174
257
  - 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.
175
258
 
@@ -180,7 +263,14 @@ EXAMPLES:
180
263
  silo/4.8/sles11.1_gnu4.5.3
181
264
  fftw/3.2.2/cle4.0_pgi11.10.0
182
265
  ===== Options
183
- ===== -t|--tarball FILE|URL
266
+ ===== -e|--existing-scripts PATH
267
+
268
+ Use an existing software's build scripts
269
+
270
+ [Default Value] None
271
+
272
+
273
+ ===== -t|--tarball|--tarfile FILE|URL
184
274
 
185
275
  Provide a tarball to unpack, either a file or URL (optional)
186
276
 
@@ -243,6 +333,16 @@ Display internal smithy values
243
333
  List all architectures know to smithy.
244
334
 
245
335
 
336
+ ======= Options
337
+ ======= -a|--all
338
+ list all architectures
339
+
340
+
341
+
342
+ ====== Command: <tt>example_config </tt>
343
+ Display an example config file.
344
+
345
+
246
346
  ====== Command: <tt>last </tt>
247
347
  Display the package name used in the last smithy command. This is stored in the '~/.smithyrc' file.
248
348