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>
5cb5a7
<title>CentOS Artwork Repository: 2.49 Filesystem/trunk/Scripts/Bash</title>
ee1f37
5cb5a7
<meta name="description" content="CentOS Artwork Repository: 2.49 Filesystem/trunk/Scripts/Bash">
5cb5a7
<meta name="keywords" content="CentOS Artwork Repository: 2.49 Filesystem/trunk/Scripts/Bash">
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
56a476
[ < ]
982d5c
[ > ]
ee1f37
   
982d5c
[ << ]
982d5c
[ Up ]
5cb5a7
[ >> ]
ee1f37
   
ee1f37
   
ee1f37
   
ee1f37
   
56a476
[Top]
56a476
[Contents]
5cb5a7
[Index]
56a476
[ ? ]
ee1f37
982d5c
010b2d
5cb5a7

2.49 Filesystem/trunk/Scripts/Bash

ee1f37
ee1f37
982d5c
982d5c

2.49.1 Goals

982d5c
982d5c

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

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

982d5c
982d5c
982d5c

2.49.2 Description

982d5c
982d5c

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

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

982d5c

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

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

982d5c

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

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

982d5c

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

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

982d5c

Once global variables and function scripts have been loaded,

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

982d5c

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

982d5c
the following format:
982d5c

982d5c
centos-art arg1 --arg2=val2 --arg3=val3
982d5c
982d5c

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

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

982d5c

Once command-line arguments have been retrived, the

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

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

Figure 2.1: The functionalities initialization environment.

982d5c
982d5c

982d5c

Functionalities are implemented by means of actions. Once the

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

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

Figure 2.2: The actions initialization environment.

982d5c
982d5c

982d5c
982d5c
982d5c

2.49.3 Usage

982d5c
982d5c

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

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

982d5c
982d5c
982d5c

2.49.4 See also

982d5c
982d5c
5cb5a7
2.48 Filesystem/trunk/Scripts  
982d5c
982d5c
982d5c
ee1f37
ee1f37
982d5c
[ < ]
982d5c
[ > ]
ee1f37
   
982d5c
[ << ]
982d5c
[ Up ]
5cb5a7
[ >> ]
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>