Blame Manuals/en/Html/Repository/repository_39.html

4c79b5
4c79b5
<html>
6414c4
09d4f2
6414c4
Copyright C 2009, 2010, 2011  Alain Reguera Delgado
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
-->
92fb7f
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>
c489c0
<title>The CentOS Artwork Repository: 3.36 trunk/Scripts/Bash</title>
4c79b5
c489c0
<meta name="description" content="The CentOS Artwork Repository: 3.36 trunk/Scripts/Bash">
c489c0
<meta name="keywords" content="The CentOS Artwork Repository: 3.36 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
01b527
[ < ]
01b527
[ > ]
4c79b5
   
4c79b5
[ << ]
4c79b5
[ Up ]
c489c0
[ >> ]
4c79b5
   
4c79b5
   
4c79b5
   
4c79b5
   
4c79b5
[Top]
4c79b5
[Contents]
c489c0
[Index]
4c79b5
[ ? ]
4c79b5
c489c0
01b527
c489c0

3.36 trunk/Scripts/Bash

4c79b5
5fb024
01b527
5fb024

3.36.1 Goals

5fb024
c489c0

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

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

5fb024
01b527
5fb024

3.36.2 Description

5fb024
c489c0

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

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

c489c0

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

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

c489c0

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

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

c489c0

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

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

c489c0

Once global variables and function scripts have been loaded,

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

c489c0

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

c489c0
the following format:
c489c0

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

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

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

c489c0

Once command-line arguments have been retrived, the

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

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

Figure 3.12: The functionalities initialization environment.

c489c0
c489c0

c489c0

Functionalities are implemented by means of actions. Once the

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

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

Figure 3.13: The actions initialization environment.

c489c0
c489c0

54b5a5
01b527
63f275

3.36.3 Usage

54b5a5
c489c0

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

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

5fb024
01b527
5fb024

3.36.4 See also

5fb024
c489c0
c489c0
3.35 trunk/Scripts  
c489c0
c489c0
3.37 trunk/Scripts/Bash/Functions  
c489c0
c489c0
3.47 trunk/Scripts/Bash/Locale  
c489c0
c489c0
4c79b5
4c79b5
4c79b5
01b527
[ < ]
01b527
[ > ]
4c79b5
   
4c79b5
[ << ]
01b527
[ Up ]
c489c0
[ >> ]
4c79b5
4c79b5

4c79b5
 <font size="-1">
92fb7f
  This document was generated on January, 5 2011 using texi2html 1.76.
4c79b5
 </font>
4c79b5
 
4c79b5
4c79b5

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