Blame Manuals/en/Html/Repository/repository_40.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
-->
27dad7
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>
3f9ae1
<title>The CentOS Artwork Repository: 3.37 trunk/Scripts/Bash</title>
4c79b5
3f9ae1
<meta name="description" content="The CentOS Artwork Repository: 3.37 trunk/Scripts/Bash">
3f9ae1
<meta name="keywords" content="The CentOS Artwork Repository: 3.37 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 ]
3f9ae1
[ >> ]
4c79b5
   
4c79b5
   
4c79b5
   
4c79b5
   
4c79b5
[Top]
4c79b5
[Contents]
3f9ae1
[Index]
4c79b5
[ ? ]
4c79b5
3f9ae1
01b527
3f9ae1

3.37 trunk/Scripts/Bash

4c79b5
4c79b5
01b527
6ba043

3.37.1 Goals

6ba043
3f9ae1

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

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

6ba043
01b527
6ba043

3.37.2 Description

6ba043
3f9ae1

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

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

3f9ae1

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

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

3f9ae1

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

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

3f9ae1

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

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

3f9ae1

Once global variables and function scripts have been loaded,

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

3f9ae1

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

3f9ae1
the following format:
3f9ae1

3f9ae1
centos-art arg1 --arg2=val2 --arg3=val3
3f9ae1
3f9ae1

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

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

3f9ae1

Once command-line arguments have been retrived, the

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

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

Figure 3.12: The functionalities initialization environment.

3f9ae1
1d1bf4

3f9ae1

Functionalities are implemented by means of actions. Once the

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

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

Figure 3.13: The actions initialization environment.

3f9ae1
63f275

6ba043
01b527
6ba043

3.37.3 Usage

6ba043
3f9ae1

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

3f9ae1
each specific function documentation (see section trunk/Scripts/Bash/Functions).
1d1bf4

1d1bf4
3f9ae1
1d1bf4

3.37.4 See also

1d1bf4
1d1bf4
3f9ae1
3.36 trunk/Scripts  
3f9ae1
3f9ae1
3.38 trunk/Scripts/Bash/Functions  
63f275
3f9ae1
3.48 trunk/Scripts/Bash/Locale  
63f275
63f275
4c79b5
5fb024
4c79b5
3f9ae1
[ < ]
3f9ae1
[ > ]
4c79b5
   
4c79b5
[ << ]
01b527
[ Up ]
3f9ae1
[ >> ]
4c79b5
4c79b5

4c79b5
 <font size="-1">
27dad7
  This document was generated on January, 6 2011 using texi2html 1.76.
4c79b5
 </font>
4c79b5
 
4c79b5
4c79b5

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