Blame Manuals/Repository/repository-html/repository_51.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>
6a8116
<title>CentOS Artwork Repository: 3.48 trunk/Scripts/Bash</title>
4c79b5
6a8116
<meta name="description" content="CentOS Artwork Repository: 3.48 trunk/Scripts/Bash">
6a8116
<meta name="keywords" content="CentOS Artwork Repository: 3.48 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
d11e55
[ < ]
d11e55
[ > ]
4c79b5
   
4c79b5
[ << ]
4c79b5
[ Up ]
6a8116
[ >> ]
4c79b5
   
4c79b5
   
4c79b5
   
4c79b5
   
4c79b5
[Top]
4c79b5
[Contents]
6a8116
[Index]
4c79b5
[ ? ]
4c79b5
6a8116
d11e55
6a8116

3.48 trunk/Scripts/Bash

008ee0
54b5a5
d11e55
63f275

3.48.1 Goals

54b5a5
6a8116

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

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

4a9d2a
d11e55
4a9d2a

3.48.2 Description

4a9d2a
6a8116

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

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

6a8116

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

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

6a8116

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

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

6a8116

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

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

6a8116

Once global variables and function scripts have been loaded,

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

6a8116

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

6a8116
the following format:
6a8116

6a8116
centos-art arg1 --arg2=val2 --arg3=val3
6a8116
6a8116

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

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

6a8116

Once command-line arguments have been retrived, the

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

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

Figure 3.1: The functionalities initialization environment.

6a8116
2c3589

6a8116

Functionalities are implemented by means of actions. Once the

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

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

Figure 3.2: The actions initialization environment.

6a8116
2c3589

d11e55
d11e55
4a9d2a

3.48.3 Usage

4a9d2a
6a8116

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

6a8116
each specific function documentation (see section trunk/Scripts/Bash/Functions).
2c3589

2c3589
6a8116
4c79b5

3.48.4 See also

4c79b5
2c3589
6a8116
3.47 trunk/Scripts  
6a8116
6a8116
3.49 trunk/Scripts/Bash/Functions  
2c3589
6a8116
3.59 trunk/Scripts/Bash/Locale  
2c3589
2c3589
4c79b5
4c79b5
4c79b5
6a8116
[ < ]
6a8116
[ > ]
4c79b5
   
4c79b5
[ << ]
d11e55
[ Up ]
6a8116
[ >> ]
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>