Blame Manual/repository-html/repository_50.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>
aaf678
<title>CentOS Artwork Repository: 1.49 The Filesystem/trunk/Scripts/Bash Directory</title>
ee1f37
aaf678
<meta name="description" content="CentOS Artwork Repository: 1.49 The Filesystem/trunk/Scripts/Bash Directory">
aaf678
<meta name="keywords" content="CentOS Artwork Repository: 1.49 The Filesystem/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
aaf678
[ < ]
aaf678
[ > ]
ee1f37
   
aaf678
[ << ]
aaf678
[ Up ]
aaf678
[ >> ]
ee1f37
   
ee1f37
   
ee1f37
   
ee1f37
   
56a476
[Top]
56a476
[Contents]
5cb5a7
[Index]
56a476
[ ? ]
ee1f37
aaf678
aaf678
aaf678

1.49 The <tt>`Filesystem/trunk/Scripts/Bash'</tt> Directory

ee1f37
ee1f37
aaf678
aaf678

1.49.1 Goals

ee1f37
aaf678

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

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

982d5c
aaf678
aaf678

1.49.2 Description

ee1f37
aaf678

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

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

aaf678

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

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

aaf678

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

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

aaf678

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

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

aaf678

Once global variables and function scripts have been loaded,

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

aaf678

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

aaf678
the following format:
aaf678

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

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

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

aaf678

Once command-line arguments have been retrived, the

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

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

Figure 1.1: The functionalities initialization environment.

aaf678
aaf678

aaf678

Functionalities are implemented by means of actions. Once the

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

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

Figure 1.2: The actions initialization environment.

aaf678
aaf678

ee1f37
aaf678
aaf678

1.49.3 Usage

ee1f37
aaf678

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

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

ee1f37
aaf678
aaf678

1.49.4 See also

ee1f37
aaf678
aaf678
1.48 The <tt>`Filesystem/trunk/Scripts'</tt> Directory  
aaf678
aaf678
ee1f37
ee1f37
ee1f37
aaf678
[ < ]
aaf678
[ > ]
ee1f37
   
aaf678
[ << ]
aaf678
[ Up ]
aaf678
[ >> ]
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>