Blame Manual/repository-html/repository_65.html

ee1f37
ee1f37
<html>
d1db00
d1db00
organization, and administration of CentOS Artwork Repository.
d1db00
d1db00
Copyright C 2009-2011 Alain Reguera Delgado
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
-->
995423
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>
9bfd15
<title>CentOS Artwork Repository: 2.61 The trunk/Scripts/Bash Directory</title>
ee1f37
9bfd15
<meta name="description" content="CentOS Artwork Repository: 2.61 The trunk/Scripts/Bash Directory">
9bfd15
<meta name="keywords" content="CentOS Artwork Repository: 2.61 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
995423
[ < ]
995423
[ > ]
ee1f37
   
671838
[ << ]
671838
[ Up ]
995423
[ >> ]
ee1f37
   
ee1f37
   
ee1f37
   
ee1f37
   
56a476
[Top]
56a476
[Contents]
995423
[Index]
56a476
[ ? ]
ee1f37
9bfd15
995423
9bfd15

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

b130a0
b9dbd3
995423
9bfd15

2.61.1 Goals

9bfd15
9bfd15

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

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

9bfd15
995423
9bfd15

2.61.2 Description

9bfd15
9bfd15

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

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

9bfd15

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

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

9bfd15

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

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

9bfd15

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

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

9bfd15

Once global variables and function scripts have been loaded,

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

9bfd15

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

9bfd15
the following format:
9bfd15

9bfd15
centos-art arg1 --arg2=val2 --arg3=val3
9bfd15
9bfd15

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

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

9bfd15

Once command-line arguments have been retrived, the

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

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

Figure 2.1: The functionalities initialization environment.

9bfd15
9bfd15

9bfd15

Functionalities are implemented by means of actions. Once the

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

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

Figure 2.2: The actions initialization environment.

9bfd15
9bfd15

9bfd15
995423
9bfd15

2.61.3 Usage

9bfd15
9bfd15

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

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

9bfd15
995423
9bfd15

2.61.4 See also

9bfd15
9bfd15
995423
2.60 The <tt>`trunk/Scripts'</tt> Directory  
9bfd15
9bfd15
9bfd15
ee1f37
ee1f37
995423
[ < ]
995423
[ > ]
ee1f37
   
671838
[ << ]
995423
[ Up ]
995423
[ >> ]
ee1f37
ee1f37

ee1f37
 <font size="-1">
995423
  This document was generated on March, 9 2011 using texi2html 1.76.
ee1f37
 </font>
ee1f37
 
ee1f37
ee1f37

ee1f37
</body>
ee1f37
</html>