Blame Manuals/en/Html/Repository/repository_39.html

4c79b5
4c79b5
<html>
09d4f2
09d4f2
09d4f2
The CentOS Artwork Repository exists to organize and automate The
09d4f2
CentOS Project corporate visual identity (, to
09d4f2
start on).
4c79b5
6c4982
Copyright C 2009, 2010 Alain Reguera Delgado. All rights
4c79b5
reserved.
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
-->
49151b
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>
63f275
<title>CentOS Artwork Repository: 3.36 trunk/Scripts/Bash</title>
4c79b5
63f275
<meta name="description" content="CentOS Artwork Repository: 3.36 trunk/Scripts/Bash">
63f275
<meta name="keywords" content="CentOS Artwork Repository: 3.36 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 ]
01b527
[ >> ]
4c79b5
   
4c79b5
   
4c79b5
   
4c79b5
   
4c79b5
[Top]
4c79b5
[Contents]
01b527
[Index]
4c79b5
[ ? ]
4c79b5
63f275
01b527
63f275

3.36 trunk/Scripts/Bash

4c79b5
5fb024
01b527
5fb024

3.36.1 Goals

5fb024
63f275

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

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

5fb024
01b527
5fb024

3.36.2 Description

5fb024
63f275

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

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

583d5d

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

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

63f275

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

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

63f275

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

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

63f275

Once global variables and function scripts have been loaded,

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

63f275

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

63f275
the following format:
54b5a5

63f275
centos-art arg1 --arg2=val2 --arg3=val3
63f275
63f275

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

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

63f275

Once command-line arguments have been retrived, the

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

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

Figure 3.8: The functionalities initialization environment.

583d5d
583d5d

583d5d

Functionalities are implemented by means of actions. Once the

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

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

Figure 3.9: The actions initialization environment.

63f275
54b5a5

54b5a5
01b527
63f275

3.36.3 Usage

54b5a5
63f275

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

01b527
each specific function documentation (see section trunk/Scripts/Bash/Functions).
63f275

5fb024
01b527
5fb024

3.36.4 See also

5fb024
63f275
01b527
3.35 trunk/Scripts  
63f275
01b527
3.37 trunk/Scripts/Bash/Functions  
63f275
01b527
3.47 trunk/Scripts/Bash/Locale  
63f275
63f275
4c79b5
4c79b5
4c79b5
01b527
[ < ]
01b527
[ > ]
4c79b5
   
4c79b5
[ << ]
01b527
[ Up ]
01b527
[ >> ]
4c79b5
4c79b5

4c79b5
 <font size="-1">
49151b
  This document was generated on December, 20 2010 using texi2html 1.76.
4c79b5
 </font>
4c79b5
 
4c79b5
4c79b5

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