Blame Manuals/Repository/repository-html/repository_52.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
-->
bf28e1
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>
bf28e1
<title>CentOS Artwork Repository: 3.49 trunk/Scripts/Bash</title>
4c79b5
bf28e1
<meta name="description" content="CentOS Artwork Repository: 3.49 trunk/Scripts/Bash">
bf28e1
<meta name="keywords" content="CentOS Artwork Repository: 3.49 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
2dc146
[ < ]
2dc146
[ > ]
4c79b5
   
4c79b5
[ << ]
4c79b5
[ Up ]
bf28e1
[ >> ]
4c79b5
   
4c79b5
   
4c79b5
   
4c79b5
   
4c79b5
[Top]
4c79b5
[Contents]
bf28e1
[Index]
4c79b5
[ ? ]
4c79b5
bf28e1
2dc146
bf28e1

3.49 trunk/Scripts/Bash

2dc146
2dc146
2dc146
2dc146

3.49.1 Goals

2dc146
bf28e1

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

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

2dc146
2dc146
2dc146

3.49.2 Description

2dc146
bf28e1

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

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

bf28e1

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

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

bf28e1

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

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

bf28e1

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

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

bf28e1

Once global variables and function scripts have been loaded,

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

bf28e1

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

bf28e1
the following format:
bf28e1

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

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

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

bf28e1

Once command-line arguments have been retrived, the

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

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

Figure 3.1: The functionalities initialization environment.

bf28e1
c2a1bc

bf28e1

Functionalities are implemented by means of actions. Once the

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

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

Figure 3.2: The actions initialization environment.

bf28e1
2dc146

2dc146
4a9d2a
2dc146

3.49.3 Usage

008ee0
bf28e1

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

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

c2a1bc
bf28e1
c2a1bc

3.49.4 See also

c2a1bc
c2a1bc
bf28e1
3.48 trunk/Scripts  
bf28e1
bf28e1
3.50 trunk/Scripts/Bash/Functions  
2dc146
bf28e1
3.60 trunk/Scripts/Bash/Locale  
2dc146
2dc146
4c79b5
4c79b5
4c79b5
bf28e1
[ < ]
bf28e1
[ > ]
4c79b5
   
4c79b5
[ << ]
2dc146
[ Up ]
bf28e1
[ >> ]
4c79b5
4c79b5

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

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