Blame Manual/repository-html/repository_55.html

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

2.50 The <tt>`trunk/Scripts/Bash'</tt> Directory

ee1f37
ee1f37
f66721
f66721

2.50.1 Goals

f66721
f66721

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

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

f66721
f66721
f66721

2.50.2 Description

f66721
f66721

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

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

f66721

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

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

f66721

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

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

f66721

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

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

f66721

Once global variables and function scripts have been loaded,

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

f66721

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

f66721
the following format:
f66721

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

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

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

f66721

Once command-line arguments have been retrived, the

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

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

Figure 2.1: The functionalities initialization environment.

f66721
f66721

f66721

Functionalities are implemented by means of actions. Once the

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

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

Figure 2.2: The actions initialization environment.

f66721
f66721

f66721
f66721
f66721

2.50.3 Usage

f66721
f66721

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

f66721
each specific function documentation (-- Removed(pxref:trunk Scripts Bash
f66721
Functions) --).
f66721

f66721
f66721
f66721

2.50.4 See also

f66721
f66721
f66721
2.49 The <tt>`trunk/Scripts'</tt> Directory  
f66721
f66721
f66721
ee1f37
ee1f37
f66721
[ < ]
f66721
[ > ]
ee1f37
   
f66721
[ << ]
f66721
[ Up ]
f66721
[ >> ]
ee1f37
ee1f37

ee1f37
 <font size="-1">
406f69
  This document was generated on March, 1 2011 using texi2html 1.76.
ee1f37
 </font>
ee1f37
 
ee1f37
ee1f37

ee1f37
</body>
ee1f37
</html>