Goals
-----

This section exists to organize files related to ``verify'' functionality of centos-art.sh script.  The ``verify'' functionality of centos-art.sh script helps you to prepare the workstation you are planning to use centos-art.sh script.

Description
-----------

The first time you download CentOS Artwork Repository you need to configure your workstation in order to use centos-art.sh script.  These preliminar configurations are based mainly on auxiliar RPM packages installation, symbolic links creations, and environment variables definitions.  The ``verify'' functionality of centos-art.sh script guides you through this preliminar configuration process.

If this is the first time you run centos-art command, the appropriate way to use its ``verify'' functionality is not using the centos-art command directly, but the absolute path to centos-art.sh script instead (i.e., ~/artwork/trunk/Scripts/Bash/centos-art.sh).  This is necessary because centos-art symbolic link, under ~/bin/ directory, has not been created yet.

Packages
........

Installation of auxiliar RPM packages provides the software required to manipulate files inside the repository (e.g., image files, documentation files, translation files, script files, etc.). Most of RPM packages centos-art.sh script uses are shipped with CentOS distribution, and can be installed from CentOS base repository. The only exception is inkscape, the package we use to manipulate SVG files.  The inkscape package is not inside CentOS distribution so it needs to be installed from third party repositories.

     Note Configuration of third party repositories inside CentOS distribution is described in CentOS wiki, specifically in the following URL: http://wiki.centos.org/AdditionalResources/Repositories

Links
.....

Creation of symbolic links helps us to alternate between different implementations of centos-art command-line (e.g., centos-art.sh, for Bash implementation; centos-art.py, for Python implementation; centos-art.pl, for Perl implementation; and so on for other implementations). The centos-art command-line definition takes place inside your personal binary (~/bin/) directory in order to make the script implementation ---the one that centos-art links to--- available to PATH environment variable.

Creation of symbolic links helps us to reuse components from repository working copy. For example, color information files maintained inside your working copy must never be duplicated inside program-specific configuration directories that uses them in your workstation (e.g., Gimp, Inkscape, etc.).  Instead, a symbolic link must be created for each one of them, from program-specific configuration directories to files in the working copy.  In this configuration, when someone commits changes to color information files up to central repository, they---the changes committed--- will be immediatly available to your programs the next time you update your working copy ---the place inside your workstation those color information files are stored---.

Creation of symbolic links helps us to make centos-art.sh script functionalities available outside trunk/ repository directory structure, but at its same level in repository tree. This is useful if you need to use the ``render'' functionality of centos-art.sh under branches/ repository directory structure as you usually do inside trunk/ repository directory structure. As consequence of this configuration, automation scripts cannot be branched under branches/Scripts directory structure.

Environment variables
.....................

Definition of environemnt variables helps us to set default values to our user session life. The user session environment variable defintion takes place in the user's ~/.bash_profile file.  The ``verify'' functionality of centos-art.sh script doesn't modify your ~/.bash_profile file.

The ``verify'' functionality of centos-art.sh script evaluates the following environment variables:

Default text editor (EDITOR)

     The EDITOR environment variable defines your user session default text editor.

     If EDITOR environment variable is not set ---or it uses one value other than /usr/bin/vim, /usr/bin/emacs, or /usr/bin/nano--- the centos-art.sh script uses /usr/bin/vim as default text editor.

     Default text editor is used by centos-art.sh script whenever it needs to edit text-based files (e.g., subversion's pre-commit messages, translation files, configuration files, script files, etc.)

Default time representation (TZ)

     The TZ environment variable defines your user session default time zone representation.

     Time representation inside repository server is set to Coordinated Universal Time (UTC).  Time represetation inside repository working copies is set as their administrators personally define.

     When repository working copies time representation be defined, it would be a very good convention to follow if working copies administrators would set their systems clock to use UTC.  Otherwise it would be difficult for working copies users to find out when changes were committed up to repository server exactly in time.

          Tip Coordinated Univeral Time (UTC) representation can be configured when you install CentOS distribution, or later in your graphical interface using the following command:
          system-config-date

          Note If you set your system clock to use UTC representation, you also need to set the TZ environment variable inside ~/.bash_profile as follows:
          export TZ=UTC
          This is required in order for your terminal to display the correct time information of your zone, taking UTC representation as reference.

Usage
-----

centos-art verify --packages
     This command verifies required packages your workstation needs in order to run the centos-art command correctly.  If there are missing packages, the centos-art.sh script asks you to confirm their installation. When installing packages, the centos-art.sh script uses the yum application in order to achieve the task.

centos-art verify --links
     This command verifies required links your workstation needs in order to run the centos-art command correctly. If there are missing links, the centos-art.sh script asks you to confirm their creation. When creating links, the centos-art.sh script uses the ln application in order to achieve the task.

centos-art verify --environment
     This command verifies required environment variables your workstation needs in order to run centos-art command correctly. If environment variables evaluated by centos-art.sh script are emtpy, the centos-art.sh script informs you about it and nothing else happens.

See also
--------