Blame Manual/repository-html/repository_54.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>
063806
<title>CentOS Artwork Repository: 2.50 The trunk/Scripts/Bash Directory</title>
ee1f37
063806
<meta name="description" content="CentOS Artwork Repository: 2.50 The trunk/Scripts/Bash Directory">
063806
<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
063806
[ < ]
063806
[ > ]
ee1f37
   
063806
[ << ]
063806
[ Up ]
063806
[ >> ]
ee1f37
   
ee1f37
   
ee1f37
   
ee1f37
   
56a476
[Top]
56a476
[Contents]
063806
[Index]
56a476
[ ? ]
ee1f37
063806
063806
063806

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

063806
063806
063806
063806

2.50.1 Goals

063806
063806

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

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

063806
063806
063806

2.50.2 Description

063806
063806

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

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

063806

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

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

063806

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

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

063806

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

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

063806

Once global variables and function scripts have been loaded,

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

063806

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

063806
the following format:
063806

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

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

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

063806

Once command-line arguments have been retrived, the

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

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

Figure 2.1: The functionalities initialization environment.

b9dbd3
b9dbd3

063806

Functionalities are implemented by means of actions. Once the

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

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

Figure 2.2: The actions initialization environment.

063806
b9dbd3

b9dbd3
063806
063806

2.50.3 Usage

b9dbd3
063806

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

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

b9dbd3
063806
063806

2.50.4 See also

ee1f37
b9dbd3
063806
2.49 The <tt>`trunk/Scripts'</tt> Directory  
b9dbd3
b9dbd3
ee1f37
ee1f37
ee1f37
063806
[ < ]
063806
[ > ]
ee1f37
   
063806
[ << ]
063806
[ Up ]
063806
[ >> ]
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>