Blame Manual/repository-html/repository_51.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>
b130a0
<title>CentOS Artwork Repository: 1.50 The trunk/Scripts/Bash Directory</title>
ee1f37
b130a0
<meta name="description" content="CentOS Artwork Repository: 1.50 The trunk/Scripts/Bash Directory">
b130a0
<meta name="keywords" content="CentOS Artwork Repository: 1.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
aaf678
[ < ]
b130a0
[ > ]
ee1f37
   
aaf678
[ << ]
aaf678
[ Up ]
b130a0
[ >> ]
ee1f37
   
ee1f37
   
ee1f37
   
ee1f37
   
56a476
[Top]
56a476
[Contents]
b130a0
[Index]
56a476
[ ? ]
ee1f37
b130a0
982d5c
b130a0

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

982d5c
982d5c
b130a0
b130a0

1.50.1 Goals

b130a0
b130a0

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

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

b130a0
b130a0
b130a0

1.50.2 Description

b130a0
b130a0

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

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

b130a0

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

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

b130a0

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

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

b130a0

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

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

b130a0

Once global variables and function scripts have been loaded,

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

b130a0

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

b130a0
the following format:
b130a0

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

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

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

b130a0

Once command-line arguments have been retrived, the

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

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

Figure 1.1: The functionalities initialization environment.

b130a0
b130a0

b130a0

Functionalities are implemented by means of actions. Once the

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

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

Figure 1.2: The actions initialization environment.

b130a0
b130a0

b130a0
b130a0
b130a0

1.50.3 Usage

b130a0
b130a0

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

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

b130a0
b130a0
b130a0

1.50.4 See also

b130a0
b130a0
b130a0
1.49 The <tt>`trunk/Scripts'</tt> Directory  
b130a0
b130a0
b130a0
ee1f37
ee1f37
b130a0
[ < ]
b130a0
[ > ]
ee1f37
   
aaf678
[ << ]
b130a0
[ Up ]
b130a0
[ >> ]
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>