Blame Manuals/Repository/repository-html/repository_51.html

4c79b5
4c79b5
<html>
ccb7a3
4c79b5
4c79b5
Permission is granted to copy, distribute and/or modify this document
4c79b5
under the terms of the GNU Free Documentation License, Version 1.2 or
4c79b5
any later version published by the Free Software Foundation; with no
4c79b5
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
4c79b5
copy of the license is included in the section entitled GNU Free
4c79b5
Documentation License.  
4c79b5
-->
acd47b
4c79b5
4c79b5
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
4c79b5
            Karl Berry  <karl@freefriends.org>
4c79b5
            Olaf Bachmann <obachman@mathematik.uni-kl.de>
4c79b5
            and many others.
4c79b5
Maintained by: Many creative people <dev@texi2html.cvshome.org>
4c79b5
Send bugs and suggestions to <users@texi2html.cvshome.org>
4c79b5
4c79b5
-->
4c79b5
<head>
c2a1bc
<title>CentOS Artwork Repository: 3.48 trunk/Scripts/Bash</title>
4c79b5
c2a1bc
<meta name="description" content="CentOS Artwork Repository: 3.48 trunk/Scripts/Bash">
c2a1bc
<meta name="keywords" content="CentOS Artwork Repository: 3.48 trunk/Scripts/Bash">
4c79b5
<meta name="resource-type" content="document">
4c79b5
<meta name="distribution" content="global">
4c79b5
<meta name="Generator" content="texi2html 1.76">
4c79b5
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4c79b5
<style type="text/css">
4c79b5
1e9202
@import "/home/centos/artwork/trunk/Identity/Models/Css/Texi2html/common.css";
4c79b5
4c79b5
a.summary-letter {text-decoration: none}
4c79b5
pre.display {font-family: serif}
4c79b5
pre.format {font-family: serif}
4c79b5
pre.menu-comment {font-family: serif}
4c79b5
pre.menu-preformatted {font-family: serif}
4c79b5
pre.smalldisplay {font-family: serif; font-size: smaller}
4c79b5
pre.smallexample {font-size: smaller}
4c79b5
pre.smallformat {font-family: serif; font-size: smaller}
4c79b5
pre.smalllisp {font-size: smaller}
4c79b5
span.sansserif {font-family:sans-serif; font-weight:normal;}
4c79b5
ul.toc {list-style: none}
4c79b5
-->
4c79b5
</style>
4c79b5
4c79b5
4c79b5
</head>
4c79b5
4c79b5
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
4c79b5
4c79b5
4a9d2a
[ < ]
4a9d2a
[ > ]
4c79b5
   
4c79b5
[ << ]
4c79b5
[ Up ]
c2a1bc
[ >> ]
4c79b5
   
4c79b5
   
4c79b5
   
4c79b5
   
4c79b5
[Top]
4c79b5
[Contents]
c2a1bc
[Index]
4c79b5
[ ? ]
4c79b5
c2a1bc
4a9d2a
c2a1bc

3.48 trunk/Scripts/Bash

008ee0
54b5a5
4a9d2a
63f275

3.48.1 Goals

54b5a5
c2a1bc

The <tt>`trunk/Scripts/Bash'</tt> directory exists to organize the trunk

c2a1bc
development line of <tt>`centos-art.sh'</tt> automation script.  The
c2a1bc
<tt>`centos-art.sh'</tt> script standardizes frequent tasks inside your
c2a1bc
working copy of CentOS Artwork Repository.
4a9d2a

4a9d2a
4a9d2a
4a9d2a

3.48.2 Description

4a9d2a
c2a1bc

The best way to understand <tt>`centos-art.sh'</tt> automation script is

c2a1bc
studying its source code.  However, as start point, you may prefer to
c2a1bc
read an introductory resume before diving into the source code
c2a1bc
details.
c2a1bc

c2a1bc

The <tt>`centos-art.sh'</tt> script is written in Bash. Most tasks, inside

c2a1bc
<tt>`centos-art.sh'</tt> script, have been organized in many specific
c2a1bc
functionalities that you can invoke from the centos-art
c2a1bc
command-line interface.
c2a1bc

c2a1bc

When you type the centos-art command in your terminal, the

c2a1bc
operating system trys to execute that command. In order to execute the
c2a1bc
command, the operating system needs to know where it is, so the
c2a1bc
operating system uses the PATH environment variable to look for
c2a1bc
that command location. If your system was prepared to use CentOS
c2a1bc
Artwork Repository correctly (see section trunk/Scripts/Bash/Functions/Verify), you should have a symbolic link inside <tt>`~/bin/'</tt>
c2a1bc
directory that points to the <tt>`centos-art.sh'</tt> script file. As
c2a1bc
<tt>`~/bin/'</tt> directory is, by default, inside PATH environment
c2a1bc
variable, the execution of centos-art command runs the
c2a1bc
<tt>`centos-art.sh'</tt> script.
c2a1bc

c2a1bc

When <tt>`centos-art.sh'</tt> script is executed, the first it does is

c2a1bc
executing the <tt>`trunk/Scripts/Bash/initEnvironment.sh'</tt> script to
c2a1bc
initialize global variables (e.g., gettext variables) and
c2a1bc
global function scripts.  Global function scripts are located inside
c2a1bc
<tt>`trunk/Scripts/Bash/Functions'</tt> directory and their file names
c2a1bc
begin with <samp>`cli'</samp>. Global function scripts provide common
c2a1bc
functionalities that can be used anywhere inside <tt>`centos-art.sh'</tt>
c2a1bc
script execution environment.
c2a1bc

c2a1bc

Once global variables and function scripts have been loaded,

c2a1bc
<tt>`centos-art.sh'</tt> script executes the cli global function
c2a1bc
from <tt>`cli.sh'</tt> function script to retrive command-line arguments
c2a1bc
and define some default values that may be used later by specific
c2a1bc
function scripts (see section trunk/Scripts/Bash/Functions).
c2a1bc

c2a1bc

As convenction, the <tt>`centos-art.sh'</tt> command-line arguments have

c2a1bc
the following format:
c2a1bc

c2a1bc
centos-art arg1 --arg2=val2 --arg3=val3
c2a1bc
c2a1bc

In the above example, <samp>`centos-art'</samp> is the command you use to

c2a1bc
invoke <tt>`centos-art.sh'</tt> script. The <samp>`arg1'</samp> is required and
c2a1bc
represents the functionality you want to perform (e.g.,
c2a1bc
<samp>`verify'</samp>, <samp>`render'</samp>, <samp>`locale'</samp>, <samp>`manual'</samp>,
c2a1bc
etc.). The remaining arguments are modifiers to <samp>`arg1'</samp>. The
c2a1bc
<samp>`--arg2'</samp> definition is required and represets, specifically,
c2a1bc
the action inside the functionality you want to perform.  The
c2a1bc
<samp>`--arg3'</samp> and on, are optional.
c2a1bc

c2a1bc

Once command-line arguments have been retrived, the

c2a1bc
<tt>`centos-art.sh'</tt> script loads specific functionalities using the
c2a1bc
<tt>`cli_getFunctions.sh'</tt> function script. Only one specific
c2a1bc
functionality can be loaded at one script execution I.e., you run
c2a1bc
centos-art.sh script to run just one functionality.
c2a1bc

c2a1bc
c2a1bc
+----------------------------------------------------------------------+
c2a1bc
| [centos@host]$ centos-art function --action='value' --option='value' |
c2a1bc
+----------------------------------------------------------------------+
c2a1bc
| ~/bin/centos-art --> ~/artwork/trunk/Scripts/Bash/centos-art.sh      |
c2a1bc
+---v-----------------------------------------v------------------------+
c2a1bc
    | centos-art.sh                           |
c2a1bc
    +---v---------------------------------v---+
c2a1bc
    .   | initEnvironment.sh              |   .
c2a1bc
    .   +---------------------------------+   .
c2a1bc
    .   | cli $@                          |   .
c2a1bc
    .   +---v-------------------------v---+   .
c2a1bc
    .   .   | cli_getFunctions        |   .   .
c2a1bc
    .   .   +---v-----------------v---+   .   .
c2a1bc
    .   .   .   | function1       |   .   .   .
c2a1bc
    .   .   .   | function2       |   .   .   .
c2a1bc
    .   .   .   | function3       |   .   .   .
c2a1bc
    .   .   .   +-----------------+   .   .   .
c2a1bc
    .   .   ...........................   .   .
c2a1bc
    .   ...................................   .
c2a1bc
    ...........................................
c2a1bc
c2a1bc

Figure 3.1: The functionalities initialization environment.

c2a1bc
c2a1bc

c2a1bc

Functionalities are implemented by means of actions. Once the

c2a1bc
functionality has been initiazalized, actions initialization take
c2a1bc
place for that functionality. Actions initialization model is very
c2a1bc
similar to functions initialization model. But with the difference,
c2a1bc
that actions are loaded inside function environment, and so, share
c2a1bc
variables and functions defined inside function environment.
c2a1bc

c2a1bc
c2a1bc
+--------------------------------------+
c2a1bc
| cli_getFunctions                     |
c2a1bc
+---v------------------------------v---+
c2a1bc
.   | function1                    |   .
c2a1bc
.   +---v----------------------v---+   .
c2a1bc
.   .   | function1_getActions |   .   .
c2a1bc
.   .   +---v--------------v---+   .   .
c2a1bc
.   .   .   | action 1     |   .   .   .
c2a1bc
.   .   .   | action 2     |   .   .   .
c2a1bc
.   .   .   | action n     |   .   .   .
c2a1bc
.   .   .   +--------------+   .   .   .
c2a1bc
.   .   ........................   .   .
c2a1bc
.   ................................   .
c2a1bc
.   +------------------------------+   .
c2a1bc
.   | function2                    |   .
c2a1bc
.   +---v----------------------v---+   .
c2a1bc
.   .   | function2_getActions |   .   .
c2a1bc
.   .   +---v--------------v---+   .   .
c2a1bc
.   .   .   | action 1     |   .   .   .
c2a1bc
.   .   .   | action 2     |   .   .   .
c2a1bc
.   .   .   | action n     |   .   .   .
c2a1bc
.   .   .   +--------------+   .   .   .
c2a1bc
.   .   ........................   .   .
c2a1bc
.   ................................   .
c2a1bc
.   +------------------------------+   .
c2a1bc
.   | function3                    |   .
c2a1bc
.   +---v----------------------v---+   .
c2a1bc
.   .   | function3_getActions |   .   .
c2a1bc
.   .   +---v--------------v---+   .   .
c2a1bc
.   .   .   | action 1     |   .   .   .
c2a1bc
.   .   .   | action 2     |   .   .   .
c2a1bc
.   .   .   | action n     |   .   .   .
c2a1bc
.   .   .   +--------------+   .   .   .
c2a1bc
.   .   ........................   .   .
c2a1bc
.   ................................   .
c2a1bc
........................................
c2a1bc
c2a1bc

Figure 3.2: The actions initialization environment.

c2a1bc
c2a1bc

4a9d2a
4a9d2a
4a9d2a

3.48.3 Usage

4a9d2a
c2a1bc

The <tt>`centos-art.sh'</tt> script usage information is described inside

c2a1bc
each specific function documentation (see section trunk/Scripts/Bash/Functions).
c2a1bc

4a9d2a
2dc146
4c79b5

3.48.4 See also

4c79b5
c2a1bc
c2a1bc
3.47 trunk/Scripts  
c2a1bc
c2a1bc
3.49 trunk/Scripts/Bash/Functions  
c2a1bc
c2a1bc
3.59 trunk/Scripts/Bash/Locale  
c2a1bc
c2a1bc
4c79b5
4c79b5
4c79b5
2dc146
[ < ]
2dc146
[ > ]
4c79b5
   
4c79b5
[ << ]
4a9d2a
[ Up ]
c2a1bc
[ >> ]
4c79b5
4c79b5

4c79b5
 <font size="-1">
acd47b
  This document was generated on February, 26 2011 using texi2html 1.76.
4c79b5
 </font>
4c79b5
 
4c79b5
4c79b5

4c79b5
</body>
4c79b5
</html>