From 3e335ce850c31459ebc468c27bbb17833495dd38 Mon Sep 17 00:00:00 2001 From: Alain Reguera Delgado Date: Dec 27 2013 21:22:48 +0000 Subject: Merge branch 'tcar-scripts-docs' into tcar-scripts --- diff --git a/tcar-scripts-docs/Manpages/Locales/en_US/centos-art.sh.po b/tcar-scripts-docs/Manpages/Locales/en_US/centos-art.sh.po new file mode 100644 index 0000000..4daf2be --- /dev/null +++ b/tcar-scripts-docs/Manpages/Locales/en_US/centos-art.sh.po @@ -0,0 +1,296 @@ +msgid "" +msgstr "" +"Project-Id-Version: centos-art.sh.asciidoc 0.6\n" +"POT-Creation-Date: 2013-11-26 10:20-0500\n" +"PO-Revision-Date: 2013-11-26 10:20-0500\n" +"Last-Translator: Localization SIG \n" +"Language-Team: English\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "centos-art.sh" +msgstr "centos-art.sh" + +msgid "1" +msgstr "1" + +msgid "The CentOS artwork repository automation tool." +msgstr "The CentOS artwork repository automation tool." + +msgid "" +"centos-art.sh [--help|--version]" +msgstr "" +"centos-art.sh [--help|--version]" + +msgid "" +"Print information about centos-art.sh " +"script itself." +msgstr "" +"Print information about centos-art.sh " +"script itself." + +msgid "" +"centos-art.shMODULE [--help|--version]" +msgstr "" +"centos-art.shMODULE [--help|--version]" + +msgid "" +"Print information about the specified module. See below to see which modules centos-art.sh script supports." +msgstr "" +"Print information about the specified module. See below to see which modules centos-art.sh script supports." + +msgid "Description" +msgstr "Description" + +msgid "" +"centos-art.sh exists to standardize " +"frequent tasks inside the CentOS artwork repository. Inside centos-art.sh script, frequent tasks are organized " +"inside modules." +msgstr "" +"centos-art.sh exists to standardize " +"frequent tasks inside the CentOS artwork repository. Inside centos-art.sh script, frequent tasks are organized " +"inside modules." + +msgid "" +"When you execute the centos-art.sh " +"script in a terminal, it requests you to enter the absolute path of CentOS " +"artwork repository in your workstation. This information is required in " +"order for centos-art.sh to know where " +"the repository directory structure you want to work with is stored in. " +"Later, once centos-art.sh knows where " +"your copy of CentOS artwork repository is stored in, it initializes " +"configuration variables and global functions. At this point, it continues " +"reading the command-line arguments to retrieve the module's name, process " +"common options next to it, store module-specific options and initiates the " +"module's environment by executing the module's initialization script, based " +"on the module's name retrieved from the command-line." +msgstr "" +"When you execute the centos-art.sh " +"script in a terminal, it requests you to enter the absolute path of CentOS " +"artwork repository in your workstation. This information is required in " +"order for centos-art.sh to know where " +"the repository directory structure you want to work with is stored in. " +"Later, once centos-art.sh knows where " +"your copy of CentOS artwork repository is stored in, it initializes " +"configuration variables and global functions. At this point, it continues " +"reading the command-line arguments to retrieve the module's name, process " +"common options next to it, store module-specific options and initiates the " +"module's environment by executing the module's initialization script, based " +"on the module's name retrieved from the command-line." + +msgid "Modules" +msgstr "Modules" + +msgid "" +"The centos-art.sh script supports the " +"following modules:" +msgstr "" +"The centos-art.sh script supports the " +"following modules:" + +msgid "prepare" +msgstr "prepare" + +msgid "" +"Standardize configuration tasks needed by your working copy (e.g., verify " +"whether required packages are installed or not in your workstation, calls " +"render module to produce images and manuals in the correct order). This is " +"the first task you should run in your workstation, just after downloading a " +"fresh working copy of CentOS artwork repository." +msgstr "" +"Standardize configuration tasks needed by your working copy (e.g., verify " +"whether required packages are installed or not in your workstation, calls " +"render module to produce images and manuals in the correct order). This is " +"the first task you should run in your workstation, just after downloading a " +"fresh working copy of CentOS artwork repository." + +msgid "render" +msgstr "render" + +msgid "" +"Standardize the way content is produced inside the repository. This function " +"relies on configuration files to do its work. Whenever you need to produce " +"images, documentation or localized content this is the module you'll need to " +"use." +msgstr "" +"Standardize the way content is produced inside the repository. This function " +"relies on configuration files to do its work. Whenever you need to produce " +"images, documentation or localized content this is the module you'll need to " +"use." + +msgid "locale" +msgstr "locale" + +msgid "" +"Standardize the way translatable strings are retrieved from source files and " +"put into portable objects for you to edit. Portable objects produced by this " +"module are used by render module to " +"produce localized content. Whenever you need to produce the intermediate " +"files holding the translatable strings required to produce localized " +"content, use this module." +msgstr "" +"Standardize the way translatable strings are retrieved from source files and " +"put into portable objects for you to edit. Portable objects produced by this " +"module are used by render module to " +"produce localized content. Whenever you need to produce the intermediate " +"files holding the translatable strings required to produce localized " +"content, use this module." + +msgid "tuneup" +msgstr "tuneup" + +msgid "" +"Standardize maintenance tasks frequently run inside the repository (e.g., " +"reset written by, copyright and license information inside shell script's " +"top-comments; transform probably malformed HTML documents into valid " +"documents, and remove unused tags inside SVG documents.)." +msgstr "" +"Standardize maintenance tasks frequently run inside the repository (e.g., " +"reset written by, copyright and license information inside shell script's " +"top-comments; transform probably malformed HTML documents into valid " +"documents, and remove unused tags inside SVG documents.)." + +msgid "Options" +msgstr "Options" + +msgid "" +"The centos-art.sh script supports the " +"following options:" +msgstr "" +"The centos-art.sh script supports the " +"following options:" + +msgid "--help" +msgstr "--help" + +msgid "Print script documentation." +msgstr "Print script documentation." + +msgid "--version" +msgstr "--version" + +msgid "Print script version." +msgstr "Print script version." + +msgid "--debug" +msgstr "--debug" + +msgid "" +"Run the script in debugging mode. This option is very useful if you want to " +"get a closer look to the way modules are opened and closed inside centos-art.sh script." +msgstr "" +"Run the script in debugging mode. This option is very useful if you want to " +"get a closer look to the way modules are opened and closed inside centos-art.sh script." + +msgid "--quiet" +msgstr "--quiet" + +msgid "" +"Run the script quietly. This option reduces the amount of information the " +"centos-art.sh script prints out when " +"processing source files." +msgstr "" +"Run the script quietly. This option reduces the amount of information the " +"centos-art.sh script prints out when " +"processing source files." + +msgid "--yes" +msgstr "--yes" + +msgid "" +"Run the script in affirmative mode. This is answering “yes” to all “yes or " +"no” questions. This option is useful when you run centos-art.sh with the --quiet option." +msgstr "" +"Run the script in affirmative mode. This is answering “yes” to all “yes or " +"no” questions. This option is useful when you run centos-art.sh with the --quiet option." + +msgid "Exit Status" +msgstr "Exit Status" + +msgid "0 — Exit successfully without errors." +msgstr "0 — Exit successfully without errors." + +msgid "1 — Exit with errors." +msgstr "1 — Exit with errors." + +msgid "Bugs" +msgstr "Bugs" + +msgid "https://centos.org.cu/bugs/" +msgstr "https://centos.org.cu/bugs/" + +msgid "Author" +msgstr "Author" + +msgid "" +"The centos-art.sh script has received " +"contribution from the following people:" +msgstr "" +"The centos-art.sh script has received " +"contribution from the following people:" + +msgid "" +"Alain Reguera Delgado <al@centos." +"org.cu>, 2009-2013" +msgstr "" +"Alain Reguera Delgado <al@centos." +"org.cu>, 2009-2013" + +msgid "Copyright" +msgstr "Copyright" + +msgid "Copyright © 2009-2013 The CentOS Artwork SIG" +msgstr "Copyright © 2009-2013 The CentOS Artwork SIG" + +msgid "" +"This program is free software; you can redistribute it and/or modify it " +"under the terms of the GNU General Public License as published by the Free " +"Software Foundation; either version 2 of the License, or (at your option) " +"any later version." +msgstr "" +"This program is free software; you can redistribute it and/or modify it " +"under the terms of the GNU General Public License as published by the Free " +"Software Foundation; either version 2 of the License, or (at your option) " +"any later version." + +msgid "" +"This program is distributed in the hope that it will be useful, but WITHOUT " +"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " +"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for " +"more details." +msgstr "" +"This program is distributed in the hope that it will be useful, but WITHOUT " +"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " +"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for " +"more details." + +msgid "" +"You should have received a copy of the GNU General Public License along with " +"this program; if not, write to the Free Software Foundation, Inc., 675 Mass " +"Ave, Cambridge, MA 02139, USA." +msgstr "" +"You should have received a copy of the GNU General Public License along with " +"this program; if not, write to the Free Software Foundation, Inc., 675 Mass " +"Ave, Cambridge, MA 02139, USA." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2. +msgid "translator-credits" +msgstr "translator-credits" diff --git a/tcar-scripts-docs/Manpages/Locales/en_US/tcar_checkFiles.sh.po b/tcar-scripts-docs/Manpages/Locales/en_US/tcar_checkFiles.sh.po new file mode 100644 index 0000000..585629d --- /dev/null +++ b/tcar-scripts-docs/Manpages/Locales/en_US/tcar_checkFiles.sh.po @@ -0,0 +1,296 @@ +msgid "" +msgstr "" +"Project-Id-Version: tcar_checkFiles.sh.asciidoc 0.6\n" +"POT-Creation-Date: 2013-11-26 10:20-0500\n" +"PO-Revision-Date: 2013-11-26 10:20-0500\n" +"Last-Translator: Localization SIG \n" +"Language-Team: English\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "tcar_checkfiles" +msgstr "tcar_checkfiles" + +msgid "1" +msgstr "1" + +msgid "tcar_checkFiles" +msgstr "tcar_checkFiles" + +msgid "Standardize constructions for file verifications." +msgstr "Standardize constructions for file verifications." + +msgid "cli_checkFiles [-d|-e|-f|-h|-x] LOCATION" +msgstr "cli_checkFiles [-d|-e|-f|-h|-x] LOCATION" + +msgid "Description" +msgstr "Description" + +msgid "" +"The cli_checkFiles exists to answer " +"basic questions like “Is LOCATION is a regular file?” and " +"“Is LOCATION a directory?”. The answer to such questions " +"affects the script execution flow in the following way: when the answer " +"positive (e.g., LOCATION is a regular file), the script " +"passes the test silently and continues its execution. When the answer is " +"negative(e.g., LOCATION is not a regular file), the " +"script finishes its execution immediately with an error message." +msgstr "" +"The cli_checkFiles exists to answer " +"basic questions like “Is LOCATION is a regular file?” and " +"“Is LOCATION a directory?”. The answer to such questions " +"affects the script execution flow in the following way: when the answer " +"positive (e.g., LOCATION is a regular file), the script " +"passes the test silently and continues its execution. When the answer is " +"negative(e.g., LOCATION is not a regular file), the " +"script finishes its execution immediately with an error message." + +msgid "" +"The cli_checkFiles function is exported " +"to centos-art.sh script environment in " +"the very beginning of its execution and will be available all along its " +"execution lifetime. You can use this function inside common and specific " +"functions whenever you need to verify files inside the The CentOS Artwork " +"Repository." +msgstr "" +"The cli_checkFiles function is exported " +"to centos-art.sh script environment in " +"the very beginning of its execution and will be available all along its " +"execution lifetime. You can use this function inside common and specific " +"functions whenever you need to verify files inside the The CentOS Artwork " +"Repository." + +msgid "" +"The cli_checkFiles function is " +"available inside the centos-art.sh " +"script only as part of its execution environment. This function is exported " +"to centos-art.sh script just after " +"executing the script from the command-line and will be available all along " +"the script lifetime. So, you can use this function both in common and " +"specific functionalities of centos-art.sh script." +msgstr "" +"The cli_checkFiles function is " +"available inside the centos-art.sh " +"script only as part of its execution environment. This function is exported " +"to centos-art.sh script just after " +"executing the script from the command-line and will be available all along " +"the script lifetime. So, you can use this function both in common and " +"specific functionalities of centos-art.sh script." + +msgid "" +"The cli_checkFiles function doesn't " +"create subsequent execution environments." +msgstr "" +"The cli_checkFiles function doesn't " +"create subsequent execution environments." + +msgid "Usage" +msgstr "Usage" + +msgid "" +"Use the cli_checkFiles function inside " +"centos-art.sh script whenever you need " +"to control the script execution flow based on file type (e.g., regular " +"files, directories, links, etc.) verifications." +msgstr "" +"Use the cli_checkFiles function inside " +"centos-art.sh script whenever you need " +"to control the script execution flow based on file type (e.g., regular " +"files, directories, links, etc.) verifications." + +msgid "Options" +msgstr "Options" + +msgid "" +"The cli_checkFiles function accepts the " +"following options:" +msgstr "" +"The cli_checkFiles function accepts the " +"following options:" + +msgid "-d" +msgstr "-d" + +msgid "" +"Verifies whether LOCATION exists and is a directory. If " +"it doesn't exists or isn't a directory, an error message is printed and the " +"script finishes its execution. Otherwise, if it exists and is a directory, " +"the script continues its execution normally." +msgstr "" +"Verifies whether LOCATION exists and is a directory. If " +"it doesn't exists or isn't a directory, an error message is printed and the " +"script finishes its execution. Otherwise, if it exists and is a directory, " +"the script continues its execution normally." + +msgid "-e" +msgstr "-e" + +msgid "" +"Verifies whether LOCATION exists or not. If it doesn't " +"exist, an error message is printed and the script finishes its execution. " +"Otherwise, if it does exists, the script continues its execution normally." +msgstr "" +"Verifies whether LOCATION exists or not. If it doesn't " +"exist, an error message is printed and the script finishes its execution. " +"Otherwise, if it does exists, the script continues its execution normally." + +msgid "-f" +msgstr "-f" + +msgid "" +"Verifies whether LOCATION exists and is a regular file. " +"If it doesn't exists or isn't a regular file, an error message is printed " +"and the script finishes its execution. Otherwise, if it exists and is a " +"regular file, the script continues its execution normally." +msgstr "" +"Verifies whether LOCATION exists and is a regular file. " +"If it doesn't exists or isn't a regular file, an error message is printed " +"and the script finishes its execution. Otherwise, if it exists and is a " +"regular file, the script continues its execution normally." + +msgid "-h" +msgstr "-h" + +msgid "" +"Verifies whether LOCATION exists and is a symbolic link. " +"If it doesn't exists or isn't a symbolic link, an error message is printed " +"and the script finishes its execution immediately. Otherwise, if it does " +"exist and is a symbolic link, the script continue its execution normally." +msgstr "" +"Verifies whether LOCATION exists and is a symbolic link. " +"If it doesn't exists or isn't a symbolic link, an error message is printed " +"and the script finishes its execution immediately. Otherwise, if it does " +"exist and is a symbolic link, the script continue its execution normally." + +msgid "-x" +msgstr "-x" + +msgid "" +"Verifies whether LOCATION exists and execution permission " +"is granted. If it doesn't exist or hasn't execution permission, the script " +"finishes its execution immediately. Otherwise, if it exists and has " +"execution permissions, the script continues its execution normally." +msgstr "" +"Verifies whether LOCATION exists and execution permission " +"is granted. If it doesn't exist or hasn't execution permission, the script " +"finishes its execution immediately. Otherwise, if it exists and has " +"execution permissions, the script continues its execution normally." + +msgid "" +"The value of the LOCATION argument must be an absolute " +"path to the file you want to verify. If such file doesn't exists in any " +"supported form, the script finishes its execution with an error message." +msgstr "" +"The value of the LOCATION argument must be an absolute " +"path to the file you want to verify. If such file doesn't exists in any " +"supported form, the script finishes its execution with an error message." + +msgid "Examples" +msgstr "Examples" + +msgid "" +"The following example was taken from centos-art." +"sh script initialization phase. Notice the position of cli_checkFiles function inside the loop. If some " +"of the function files we need to export doesn't have execution rights, " +"cli_checkFiles will finish the script " +"execution immediately with an error message." +msgstr "" +"The following example was taken from centos-art." +"sh script initialization phase. Notice the position of cli_checkFiles function inside the loop. If some " +"of the function files we need to export doesn't have execution rights, " +"cli_checkFiles will finish the script " +"execution immediately with an error message." + +#, no-wrap +msgid "" +"for FUNCFILE in ${FUNCFILES};do\n" +"\n" +" # Verify the execution rights for function file.\n" +" cli_checkFiles -x ${FUNCFILE}\n" +"\n" +" # Initialize the function file.\n" +" . ${FUNCFILE}\n" +"\n" +" # Export the function names inside the file to current shell\n" +" # script environment.\n" +" export -f $(egrep \"${PATTERN}\" ${FUNCFILE} | gawk '{ print $2 }')\n" +"\n" +"done" +msgstr "" +"for FUNCFILE in ${FUNCFILES};do\n" +"\n" +" # Verify the execution rights for function file.\n" +" cli_checkFiles -x ${FUNCFILE}\n" +"\n" +" # Initialize the function file.\n" +" . ${FUNCFILE}\n" +"\n" +" # Export the function names inside the file to current shell\n" +" # script environment.\n" +" export -f $(egrep \"${PATTERN}\" ${FUNCFILE} | gawk '{ print $2 }')\n" +"\n" +"done" + +msgid "Bugs" +msgstr "Bugs" + +msgid "See https://centos.org.cu/bugs/" +msgstr "See https://centos.org.cu/bugs/" + +msgid "Authors" +msgstr "Authors" + +msgid "" +"The tcar_checkFiles function has " +"received contributions from the following people:" +msgstr "" +"The tcar_checkFiles function has " +"received contributions from the following people:" + +msgid "Alain Reguera Delgado <al@centos.org.cu>, =COPYRIGHT_YEAR_LIST=" +msgstr "Alain Reguera Delgado <al@centos.org.cu>, =COPYRIGHT_YEAR_LIST=" + +msgid "License" +msgstr "License" + +msgid "Copyright © =COPYRIGHT_YEAR_LIST= =COPYRIGHT_HOLDER=" +msgstr "Copyright © =COPYRIGHT_YEAR_LIST= =COPYRIGHT_HOLDER=" + +msgid "" +"This program is free software; you can redistribute it and/or modify it " +"under the terms of the GNU General Public License as published by the Free " +"Software Foundation; either version 2 of the License, or (at your option) " +"any later version." +msgstr "" +"This program is free software; you can redistribute it and/or modify it " +"under the terms of the GNU General Public License as published by the Free " +"Software Foundation; either version 2 of the License, or (at your option) " +"any later version." + +msgid "" +"This program is distributed in the hope that it will be useful, but WITHOUT " +"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " +"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for " +"more details." +msgstr "" +"This program is distributed in the hope that it will be useful, but WITHOUT " +"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " +"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for " +"more details." + +msgid "" +"You should have received a copy of the GNU General Public License along with " +"this program; if not, write to the Free Software Foundation, Inc., 675 Mass " +"Ave, Cambridge, MA 02139, USA." +msgstr "" +"You should have received a copy of the GNU General Public License along with " +"this program; if not, write to the Free Software Foundation, Inc., 675 Mass " +"Ave, Cambridge, MA 02139, USA." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2. +msgid "translator-credits" +msgstr "translator-credits" diff --git a/tcar-scripts-docs/Manpages/Locales/en_US/tcar_checkRepoDirSource.sh.po b/tcar-scripts-docs/Manpages/Locales/en_US/tcar_checkRepoDirSource.sh.po new file mode 100644 index 0000000..3e3f609 --- /dev/null +++ b/tcar-scripts-docs/Manpages/Locales/en_US/tcar_checkRepoDirSource.sh.po @@ -0,0 +1,125 @@ +msgid "" +msgstr "" +"Project-Id-Version: tcar_checkRepoDirSource.sh.asciidoc 0.6\n" +"POT-Creation-Date: 2013-11-26 10:20-0500\n" +"PO-Revision-Date: 2013-11-26 10:20-0500\n" +"Last-Translator: Localization SIG \n" +"Language-Team: English\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "tcar_checkrepodirsource.sh" +msgstr "tcar_checkrepodirsource.sh" + +msgid "1" +msgstr "1" + +msgid "tcar_checkRepoDirSource" +msgstr "tcar_checkRepoDirSource" + +msgid "Standardize the working copy's absolute path construction." +msgstr "Standardize the working copy's absolute path construction." + +msgid "tcar_checkRepoDirSource \"LOCATION\"" +msgstr "tcar_checkRepoDirSource \"LOCATION\"" + +msgid "Description" +msgstr "Description" + +msgid "" +"The tcar_checkRepoDirSource function " +"standardizes the path construction to directories inside it the working " +"copy, using absolute paths. This function transforms relative paths passed " +"as non-option arguments to centos-art.sh script command-line into absolute paths inside the working copy " +"and verifies whether they really exist as directories inside the working " +"copy or not. If the path provided doesn't exist as directory inside the " +"working copy, the script will finish its execution immediately with an error " +"message. Otherwise, if the directory exists, the variable " +"TCAR_ARGUMENTS is redefined with the related absolute " +"path for further use." +msgstr "" +"The tcar_checkRepoDirSource function " +"standardizes the path construction to directories inside it the working " +"copy, using absolute paths. This function transforms relative paths passed " +"as non-option arguments to centos-art.sh script command-line into absolute paths inside the working copy " +"and verifies whether they really exist as directories inside the working " +"copy or not. If the path provided doesn't exist as directory inside the " +"working copy, the script will finish its execution immediately with an error " +"message. Otherwise, if the directory exists, the variable " +"TCAR_ARGUMENTS is redefined with the related absolute " +"path for further use." + +msgid "" +"Use the tcar_checkRepoDirSource " +"function whenever you need to be sure that non-option arguments passed to " +"centos-art.sh script command-line will " +"always point to directories inside the working copy." +msgstr "" +"Use the tcar_checkRepoDirSource " +"function whenever you need to be sure that non-option arguments passed to " +"centos-art.sh script command-line will " +"always point to directories inside the working copy." + +msgid "Bugs" +msgstr "Bugs" + +msgid "See https://centos.org.cu/bugs/" +msgstr "See https://centos.org.cu/bugs/" + +msgid "Authors" +msgstr "Authors" + +msgid "" +"The tcar_checkRepoDirSource function " +"has received contributions from the following people:" +msgstr "" +"The tcar_checkRepoDirSource function " +"has received contributions from the following people:" + +msgid "Alain Reguera Delgado <al@centos.org.cu>, =COPYRIGHT_YEAR_LIST=" +msgstr "Alain Reguera Delgado <al@centos.org.cu>, =COPYRIGHT_YEAR_LIST=" + +msgid "License" +msgstr "License" + +msgid "Copyright © =COPYRIGHT_YEAR_LIST= =COPYRIGHT_HOLDER=" +msgstr "Copyright © =COPYRIGHT_YEAR_LIST= =COPYRIGHT_HOLDER=" + +msgid "" +"This program is free software; you can redistribute it and/or modify it " +"under the terms of the GNU General Public License as published by the Free " +"Software Foundation; either version 2 of the License, or (at your option) " +"any later version." +msgstr "" +"This program is free software; you can redistribute it and/or modify it " +"under the terms of the GNU General Public License as published by the Free " +"Software Foundation; either version 2 of the License, or (at your option) " +"any later version." + +msgid "" +"This program is distributed in the hope that it will be useful, but WITHOUT " +"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " +"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for " +"more details." +msgstr "" +"This program is distributed in the hope that it will be useful, but WITHOUT " +"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " +"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for " +"more details." + +msgid "" +"You should have received a copy of the GNU General Public License along with " +"this program; if not, write to the Free Software Foundation, Inc., 675 Mass " +"Ave, Cambridge, MA 02139, USA." +msgstr "" +"You should have received a copy of the GNU General Public License along with " +"this program; if not, write to the Free Software Foundation, Inc., 675 Mass " +"Ave, Cambridge, MA 02139, USA." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2. +msgid "translator-credits" +msgstr "translator-credits" diff --git a/tcar-scripts-docs/Manpages/Locales/en_US/tcar_getConfigValue.sh.po b/tcar-scripts-docs/Manpages/Locales/en_US/tcar_getConfigValue.sh.po new file mode 100644 index 0000000..442eca5 --- /dev/null +++ b/tcar-scripts-docs/Manpages/Locales/en_US/tcar_getConfigValue.sh.po @@ -0,0 +1,156 @@ +msgid "" +msgstr "" +"Project-Id-Version: tcar_getConfigValue.sh.asciidoc 0.6\n" +"POT-Creation-Date: 2013-11-26 10:20-0500\n" +"PO-Revision-Date: 2013-11-26 10:20-0500\n" +"Last-Translator: Localization SIG \n" +"Language-Team: English\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "tcar_getconfigvalue.sh" +msgstr "tcar_getconfigvalue.sh" + +msgid "1" +msgstr "1" + +msgid "tcar_getConfigValue" +msgstr "tcar_getConfigValue" + +msgid "Standardize options retrieval from configuration files." +msgstr "Standardize options retrieval from configuration files." + +msgid "tcar_getConfigValue FILE SECTION OPTION" +msgstr "tcar_getConfigValue FILE SECTION OPTION" + +msgid "Description" +msgstr "Description" + +msgid "" +"The tcar_getConfigValue function " +"standardizes the way option values are retrieved from configuration files. " +"As convention, tcar_getConfigValue uses " +"the output produced by tcar_getConfigLines as input to retrieve the option values. As convention, in " +"option = \"value\" lines, the values retrieved are always " +"on the right side. The values retrieved are also output without quotation " +"and translation markers already expanded." +msgstr "" +"The tcar_getConfigValue function " +"standardizes the way option values are retrieved from configuration files. " +"As convention, tcar_getConfigValue uses " +"the output produced by tcar_getConfigLines as input to retrieve the option values. As convention, in " +"option = \"value\" lines, the values retrieved are always " +"on the right side. The values retrieved are also output without quotation " +"and translation markers already expanded." + +msgid "" +"The tcar_getConfigValue function " +"accepts the following arguments:" +msgstr "" +"The tcar_getConfigValue function " +"accepts the following arguments:" + +msgid "FILE" +msgstr "FILE" + +msgid "" +"This argument specifies the absolute path to the configuration file you want " +"to retrieve the value from. For example," +msgstr "" +"This argument specifies the absolute path to the configuration file you want " +"to retrieve the value from. For example," + +msgid "SECTION" +msgstr "SECTION" + +msgid "" +"This argument specifies the name of the section related to the configuration " +"line you want to retrieve the value from. For example, “symbols” without " +"brackets." +msgstr "" +"This argument specifies the name of the section related to the configuration " +"line you want to retrieve the value from. For example, “symbols” without " +"brackets." + +msgid "OPTION" +msgstr "OPTION" + +msgid "" +"This argument specifies the name of the option you want to retrieve the " +"value from." +msgstr "" +"This argument specifies the name of the option you want to retrieve the " +"value from." + +msgid "" +"Use the tcar_getConfigValue function " +"whenever you want to retrieve values from configuration files in a " +"controlled way." +msgstr "" +"Use the tcar_getConfigValue function " +"whenever you want to retrieve values from configuration files in a " +"controlled way." + +msgid "Bugs" +msgstr "Bugs" + +msgid "See https://centos.org.cu/bugs/" +msgstr "See https://centos.org.cu/bugs/" + +msgid "Authors" +msgstr "Authors" + +msgid "" +"The tcar_checkFiles function has " +"received contributions from the following people:" +msgstr "" +"The tcar_checkFiles function has " +"received contributions from the following people:" + +msgid "Alain Reguera Delgado <al@centos.org.cu>, =COPYRIGHT_YEAR_LIST=" +msgstr "Alain Reguera Delgado <al@centos.org.cu>, =COPYRIGHT_YEAR_LIST=" + +msgid "License" +msgstr "License" + +msgid "Copyright © =COPYRIGHT_YEAR_LIST= =COPYRIGHT_HOLDER=" +msgstr "Copyright © =COPYRIGHT_YEAR_LIST= =COPYRIGHT_HOLDER=" + +msgid "" +"This program is free software; you can redistribute it and/or modify it " +"under the terms of the GNU General Public License as published by the Free " +"Software Foundation; either version 2 of the License, or (at your option) " +"any later version." +msgstr "" +"This program is free software; you can redistribute it and/or modify it " +"under the terms of the GNU General Public License as published by the Free " +"Software Foundation; either version 2 of the License, or (at your option) " +"any later version." + +msgid "" +"This program is distributed in the hope that it will be useful, but WITHOUT " +"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " +"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for " +"more details." +msgstr "" +"This program is distributed in the hope that it will be useful, but WITHOUT " +"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " +"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for " +"more details." + +msgid "" +"You should have received a copy of the GNU General Public License along with " +"this program; if not, write to the Free Software Foundation, Inc., 675 Mass " +"Ave, Cambridge, MA 02139, USA." +msgstr "" +"You should have received a copy of the GNU General Public License along with " +"this program; if not, write to the Free Software Foundation, Inc., 675 Mass " +"Ave, Cambridge, MA 02139, USA." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2. +msgid "translator-credits" +msgstr "translator-credits" diff --git a/tcar-scripts-docs/Manpages/Locales/en_US/tcar_getFilesList.sh.po b/tcar-scripts-docs/Manpages/Locales/en_US/tcar_getFilesList.sh.po new file mode 100644 index 0000000..ba5bdfc --- /dev/null +++ b/tcar-scripts-docs/Manpages/Locales/en_US/tcar_getFilesList.sh.po @@ -0,0 +1,236 @@ +msgid "" +msgstr "" +"Project-Id-Version: tcar_getFilesList.sh.asciidoc 0.6\n" +"POT-Creation-Date: 2013-11-26 10:20-0500\n" +"PO-Revision-Date: 2013-11-26 10:20-0500\n" +"Last-Translator: Localization SIG \n" +"Language-Team: English\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "tcar_getfileslist.sh" +msgstr "tcar_getfileslist.sh" + +msgid "1" +msgstr "1" + +msgid "tcar_getFilesList" +msgstr "tcar_getFilesList" + +msgid "Create customized list of files for further processing." +msgstr "Create customized list of files for further processing." + +msgid "" +"tcar_getFilesList [--pattern|--mindepth|--maxdepth|--type|--uid] LOCATION" +msgstr "" +"tcar_getFilesList [--pattern|--mindepth|--maxdepth|--type|--uid] LOCATION" + +msgid "Description" +msgstr "Description" + +msgid "" +"The tcar_getFilesList standardizes the " +"way list of files are built inside the centos-art." +"sh script. This function outputs a sorted and unique list of " +"files based on the options and location provided as argument. This function " +"is an interface to the find command. " +"Don't use find command directly inside " +"the centos-art.sh script. Instead, use the tcar_getFilesList function." +msgstr "" +"The tcar_getFilesList standardizes the " +"way list of files are built inside the centos-art." +"sh script. This function outputs a sorted and unique list of " +"files based on the options and location provided as argument. This function " +"is an interface to the find command. " +"Don't use find command directly inside " +"the centos-art.sh script. Instead, use the tcar_getFilesList function." + +msgid "" +"The LOCATION arguments must be the absolute path to a " +"directory and specifies where the search of files in any form (e.g., " +"directories, links, etc.) will take place in. If LOCATION " +"isn't a directory, the script finishes its execution with an error message." +msgstr "" +"The LOCATION arguments must be the absolute path to a " +"directory and specifies where the search of files in any form (e.g., " +"directories, links, etc.) will take place in. If LOCATION " +"isn't a directory, the script finishes its execution with an error message." + +msgid "" +"The tcar_getFilesList accepts the " +"following options:" +msgstr "" +"The tcar_getFilesList accepts the " +"following options:" + +msgid "--pattern=\"REGEX\"" +msgstr "--pattern=\"REGEX\"" + +msgid "" +"This option specifies a posix-egrep type regular expression as value. This " +"regular expression is applied to path specified in LOCATION argument. Only file paths that match this regular expression inside " +"LOCATION directory will be included in the final list of " +"files. By default, if this option is not provided, the “^/.*[[:" +"alnum:]_/-]$+” regular expression is used." +msgstr "" +"This option specifies a posix-egrep type regular expression as value. This " +"regular expression is applied to path specified in LOCATION argument. Only file paths that match this regular expression inside " +"LOCATION directory will be included in the final list of " +"files. By default, if this option is not provided, the “^/.*[[:" +"alnum:]_/-]$+” regular expression is used." + +msgid "" +"When you use the tcar_getFilesList you " +"don't need to specified the absolute path of files you want to look for. " +"This is something tcar_getFilesList " +"already does for you. When you use this function, the value you pass as " +"regular expression isn't the final regular expression used. Instead, the " +"regular expression you pass is used to build the final regular expression " +"passed to find command. The REGEX." +msgstr "" +"When you use the tcar_getFilesList you " +"don't need to specified the absolute path of files you want to look for. " +"This is something tcar_getFilesList " +"already does for you. When you use this function, the value you pass as " +"regular expression isn't the final regular expression used. Instead, the " +"regular expression you pass is used to build the final regular expression " +"passed to find command. The REGEX." + +msgid "--mindepth=\"NUMBER\"" +msgstr "--mindepth=\"NUMBER\"" + +msgid "" +"This option specifies the minimal NUMBER of levels deep " +"the search should go under the directory LOCATION " +"specified. For example, if you specify --mindepth=" +"\"2\" the search will start two levels deep considering the path " +"provided as section." +msgstr "" +"This option specifies the minimal NUMBER of levels deep " +"the search should go under the directory LOCATION " +"specified. For example, if you specify --mindepth=" +"\"2\" the search will start two levels deep considering the path " +"provided as section." + +msgid "--maxdepth=\"NUMBER\"" +msgstr "--maxdepth=\"NUMBER\"" + +msgid "" +"This option specifies the maximum NUMBER of levels deep " +"the search should go under the directory LOCATION " +"specified. For example, if you specify --maxdepth=" +"\"2\" the search will begin in the very same directory path you " +"provided as LOCATION and stop two levels deep using it as " +"section." +msgstr "" +"This option specifies the maximum NUMBER of levels deep " +"the search should go under the directory LOCATION " +"specified. For example, if you specify --maxdepth=" +"\"2\" the search will begin in the very same directory path you " +"provided as LOCATION and stop two levels deep using it as " +"section." + +msgid "--type=\"STRING\"" +msgstr "--type=\"STRING\"" + +msgid "" +"This option specifies the type of files being searched. This option accepts " +"the same values the find-type option does. However, the following " +"STRING values are the most used inside the script so far:" +msgstr "" +"This option specifies the type of files being searched. This option accepts " +"the same values the find-type option does. However, the following " +"STRING values are the most used inside the script so far:" + +msgid "d &mdash; directory." +msgstr "d &mdash; directory." + +msgid "f &mdash; regular file." +msgstr "f &mdash; regular file." + +msgid "--uid=\"NUMBER\"" +msgstr "--uid=\"NUMBER\"" + +msgid "" +"This option specifies the numeric user id of the files you want to search. " +"Only files that match this numeric user id will be added to the final list " +"of files." +msgstr "" +"This option specifies the numeric user id of the files you want to search. " +"Only files that match this numeric user id will be added to the final list " +"of files." + +msgid "" +"Use the tcar_getFilesList whenever you " +"need to build list of files for further processing." +msgstr "" +"Use the tcar_getFilesList whenever you " +"need to build list of files for further processing." + +msgid "Bugs" +msgstr "Bugs" + +msgid "See https://centos.org.cu/bugs/" +msgstr "See https://centos.org.cu/bugs/" + +msgid "Authors" +msgstr "Authors" + +msgid "" +"The tcar_checkFiles function has " +"received contributions from the following people:" +msgstr "" +"The tcar_checkFiles function has " +"received contributions from the following people:" + +msgid "Alain Reguera Delgado <al@centos.org.cu>, =COPYRIGHT_YEAR_LIST=" +msgstr "Alain Reguera Delgado <al@centos.org.cu>, =COPYRIGHT_YEAR_LIST=" + +msgid "License" +msgstr "License" + +msgid "Copyright © =COPYRIGHT_YEAR_LIST= =COPYRIGHT_HOLDER=" +msgstr "Copyright © =COPYRIGHT_YEAR_LIST= =COPYRIGHT_HOLDER=" + +msgid "" +"This program is free software; you can redistribute it and/or modify it " +"under the terms of the GNU General Public License as published by the Free " +"Software Foundation; either version 2 of the License, or (at your option) " +"any later version." +msgstr "" +"This program is free software; you can redistribute it and/or modify it " +"under the terms of the GNU General Public License as published by the Free " +"Software Foundation; either version 2 of the License, or (at your option) " +"any later version." + +msgid "" +"This program is distributed in the hope that it will be useful, but WITHOUT " +"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " +"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for " +"more details." +msgstr "" +"This program is distributed in the hope that it will be useful, but WITHOUT " +"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " +"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for " +"more details." + +msgid "" +"You should have received a copy of the GNU General Public License along with " +"this program; if not, write to the Free Software Foundation, Inc., 675 Mass " +"Ave, Cambridge, MA 02139, USA." +msgstr "" +"You should have received a copy of the GNU General Public License along with " +"this program; if not, write to the Free Software Foundation, Inc., 675 Mass " +"Ave, Cambridge, MA 02139, USA." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2. +msgid "translator-credits" +msgstr "translator-credits" diff --git a/tcar-scripts-docs/Manpages/Locales/en_US/tcar_printMessage.sh.po b/tcar-scripts-docs/Manpages/Locales/en_US/tcar_printMessage.sh.po new file mode 100644 index 0000000..4ee9f19 --- /dev/null +++ b/tcar-scripts-docs/Manpages/Locales/en_US/tcar_printMessage.sh.po @@ -0,0 +1,437 @@ +msgid "" +msgstr "" +"Project-Id-Version: tcar_printMessage.sh.asciidoc 0.6\n" +"POT-Creation-Date: 2013-11-26 10:20-0500\n" +"PO-Revision-Date: 2013-11-26 10:20-0500\n" +"Last-Translator: Localization SIG \n" +"Language-Team: English\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "tcar_printmessage.sh" +msgstr "tcar_printmessage.sh" + +msgid "1" +msgstr "1" + +msgid "tcar_printMessage.sh" +msgstr "tcar_printMessage.sh" + +msgid "Print customized messages in standard ways." +msgstr "Print customized messages in standard ways." + +msgid "" +"tcar_printMessage \"MESSAGE\" [--as-separator-line|--as-banner-line|--as-" +"cropping-line|--as-tuningup-line|--as-checking-line|--as-combining-line|--as-" +"creating-line|--as-reading-line|--as-savedas-line|--as-linkto-line|--as-" +"movedto-line|--as-validating-line|--as-template-line|--as-configuration-" +"line|--as-palette-line|--as-reponse-line|--as-request-line|--as-selection-" +"line|--as-error-line|--as-toknowmore-line|--as-yesornorequest-line|--as-" +"notrailingnew-line|--as-stdout-line|--as-stderr-line]" +msgstr "" +"tcar_printMessage \"MESSAGE\" [--as-separator-line|--as-banner-line|--as-" +"cropping-line|--as-tuningup-line|--as-checking-line|--as-combining-line|--as-" +"creating-line|--as-reading-line|--as-savedas-line|--as-linkto-line|--as-" +"movedto-line|--as-validating-line|--as-template-line|--as-configuration-" +"line|--as-palette-line|--as-reponse-line|--as-request-line|--as-selection-" +"line|--as-error-line|--as-toknowmore-line|--as-yesornorequest-line|--as-" +"notrailingnew-line|--as-stdout-line|--as-stderr-line]" + +msgid "Description" +msgstr "Description" + +msgid "" +"The tcar_printMessage function " +"standardizes the way centos-art.sh scirpt prints messages. By default, " +"centos-art.sh script prints all messages to the standard output with the " +"exception of those messages printed with the --as-" +"stderr-line option, which are printed to standard error output " +"instead." +msgstr "" +"The tcar_printMessage function " +"standardizes the way centos-art.sh scirpt prints messages. By default, " +"centos-art.sh script prints all messages to the standard output with the " +"exception of those messages printed with the --as-" +"stderr-line option, which are printed to standard error output " +"instead." + +msgid "" +"The tcar_printMessage function requires " +"two arguments. The first argument specifies the message you want to print " +"and the second argument specifies the format you'll use to print that " +"message. Because this function is so used inside the centos-art.sh script, " +"it is convenient to provide localization to strings passed as " +"MESSAGE using gettext constructions when they aren't paths." +msgstr "" +"The tcar_printMessage function requires " +"two arguments. The first argument specifies the message you want to print " +"and the second argument specifies the format you'll use to print that " +"message. Because this function is so used inside the centos-art.sh script, " +"it is convenient to provide localization to strings passed as " +"MESSAGE using gettext constructions when they aren't paths." + +msgid "Options" +msgstr "Options" + +msgid "" +"The tcar_printMessage function accepts " +"the following format options as second argument:" +msgstr "" +"The tcar_printMessage function accepts " +"the following format options as second argument:" + +msgid "--as-separator-line" +msgstr "--as-separator-line" + +msgid "" +"This format takes the first character passed as MESSAGE " +"and repeats it horizontally to build a separator line. Use this format " +"whenever you need to create a logical separation between different actions." +msgstr "" +"This format takes the first character passed as MESSAGE " +"and repeats it horizontally to build a separator line. Use this format " +"whenever you need to create a logical separation between different actions." + +msgid "--as-banner-line" +msgstr "--as-banner-line" + +msgid "" +"This format takes the string passed as MESSAGE and puts " +"it inside two horizontal separator lines. Use this format whenever you need " +"to print header information for following lines." +msgstr "" +"This format takes the string passed as MESSAGE and puts " +"it inside two horizontal separator lines. Use this format whenever you need " +"to print header information for following lines." + +msgid "--as-cropping-line" +msgstr "--as-cropping-line" + +msgid "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file has been cropped." +msgstr "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file has been cropped." + +msgid "--as-tuningup-line" +msgstr "--as-tuningup-line" + +msgid "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file has been tuned-up." +msgstr "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file has been tuned-up." + +msgid "--as-checking-line" +msgstr "--as-checking-line" + +msgid "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file has been checked or verified (e." +"g., through tcar_checkFiles " +"functionality)." +msgstr "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file has been checked or verified (e." +"g., through tcar_checkFiles " +"functionality)." + +msgid "--as-combining-line" +msgstr "--as-combining-line" + +msgid "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file has been combined." +msgstr "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file has been combined." + +msgid "--as-creating-line" +msgstr "--as-creating-line" + +msgid "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file has been created." +msgstr "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file has been created." + +msgid "--as-reading-line" +msgstr "--as-reading-line" + +msgid "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file has been read." +msgstr "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file has been read." + +msgid "--as-savedas-line" +msgstr "--as-savedas-line" + +msgid "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file has been saved." +msgstr "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file has been saved." + +msgid "--as-linkto-line" +msgstr "--as-linkto-line" + +msgid "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file has been linked." +msgstr "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file has been linked." + +msgid "--as-movedto-line" +msgstr "--as-movedto-line" + +msgid "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file has been moved." +msgstr "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file has been moved." + +msgid "--as-validating-line" +msgstr "--as-validating-line" + +msgid "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file has been validated." +msgstr "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file has been validated." + +msgid "--as-template-line" +msgstr "--as-template-line" + +msgid "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file is a template or design model." +msgstr "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file is a template or design model." + +msgid "--as-configuration-line" +msgstr "--as-configuration-line" + +msgid "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file is a configuration file." +msgstr "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file is a configuration file." + +msgid "--as-palette-line" +msgstr "--as-palette-line" + +msgid "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file is a palette of colors." +msgstr "" +"This format is for two columns messages where MESSAGE " +"generally refers to a file inside the repository. Use this format whenever " +"you need to imply the fact that certain file is a palette of colors." + +msgid "--as-response-line" +msgstr "--as-response-line" + +msgid "" +"This format adds --> at the beginning of the string " +"passed as MESSAGE. Use this format whenever you need to " +"imply the fact that certain file is considered part of a response. For " +"example, when you need to express that a group of files will take certain " +"action, you can use this option to doing so." +msgstr "" +"This format adds --> at the beginning of the string " +"passed as MESSAGE. Use this format whenever you need to " +"imply the fact that certain file is considered part of a response. For " +"example, when you need to express that a group of files will take certain " +"action, you can use this option to doing so." + +msgid "--as-request-line" +msgstr "--as-request-line" + +msgid "" +"This format prints MESSAGE without trailing new line. Use " +"this format whenever you need to imply a question or yes or no request." +msgstr "" +"This format prints MESSAGE without trailing new line. Use " +"this format whenever you need to imply a question or yes or no request." + +msgid "--as-selection-line" +msgstr "--as-selection-line" + +msgid "" +"This format uses each word in MESSAGE as item of a " +"selection list. Use this format whenever you need to select one of the items " +"provided as MESSAGE." +msgstr "" +"This format uses each word in MESSAGE as item of a " +"selection list. Use this format whenever you need to select one of the items " +"provided as MESSAGE." + +msgid "--as-error-line" +msgstr "--as-error-line" + +msgid "" +"This format prints error messages produced by centos-art.sh script. It uses " +"the caller built-in command to display " +"the line number and the filename where such error was triggered. Later, it " +"prints where to find more information by using the --as-toknowmore-line option." +msgstr "" +"This format prints error messages produced by centos-art.sh script. It uses " +"the caller built-in command to display " +"the line number and the filename where such error was triggered. Later, it " +"prints where to find more information by using the --as-toknowmore-line option." + +msgid "--as-toknowmore-line" +msgstr "--as-toknowmore-line" + +msgid "" +"This format takes a function name as MESSAGE and prints " +"the command you can use to find more information about it. When this option " +"is passed the script finishes its execution immediately. This option is used " +"in combination with --as-error-line to " +"finish the script execution after an error." +msgstr "" +"This format takes a function name as MESSAGE and prints " +"the command you can use to find more information about it. When this option " +"is passed the script finishes its execution immediately. This option is used " +"in combination with --as-error-line to " +"finish the script execution after an error." + +msgid "--as-yesornorequest-line" +msgstr "--as-yesornorequest-line" + +msgid "" +"This format takes a question as MESSAGE and reads a yes " +"or no answer. When answer is negative, the script finishes its execution " +"immediately. When answer is affirmative, the script continues its execution " +"normally." +msgstr "" +"This format takes a question as MESSAGE and reads a yes " +"or no answer. When answer is negative, the script finishes its execution " +"immediately. When answer is affirmative, the script continues its execution " +"normally." + +msgid "--as-notrailingnew-line" +msgstr "--as-notrailingnew-line" + +msgid "Print MESSAGE without any trailing newline." +msgstr "Print MESSAGE without any trailing newline." + +msgid "--as-stdout-line" +msgstr "--as-stdout-line" + +msgid "Print MESSAGE to standard output." +msgstr "Print MESSAGE to standard output." + +msgid "--as-stderr-line" +msgstr "--as-stderr-line" + +msgid "Print MESSAGE to standard error output." +msgstr "Print MESSAGE to standard error output." + +msgid "Examples" +msgstr "Examples" + +msgid "Bugs" +msgstr "Bugs" + +msgid ".." +msgstr ".." + +msgid "See https://centos.org.cu/bugs/" +msgstr "See https://centos.org.cu/bugs/" + +msgid "Authors" +msgstr "Authors" + +msgid "" +"The tcar_printMessage function has " +"received contributions from the following people:" +msgstr "" +"The tcar_printMessage function has " +"received contributions from the following people:" + +msgid "Alain Reguera Delgado <al@centos.org.cu>, =COPYRIGHT_YEAR_LIST=" +msgstr "Alain Reguera Delgado <al@centos.org.cu>, =COPYRIGHT_YEAR_LIST=" + +msgid "License" +msgstr "License" + +msgid "Copyright © =COPYRIGHT_YEAR_LIST= =COPYRIGHT_HOLDER=" +msgstr "Copyright © =COPYRIGHT_YEAR_LIST= =COPYRIGHT_HOLDER=" + +msgid "" +"This program is free software; you can redistribute it and/or modify it " +"under the terms of the GNU General Public License as published by the Free " +"Software Foundation; either version 2 of the License, or (at your option) " +"any later version." +msgstr "" +"This program is free software; you can redistribute it and/or modify it " +"under the terms of the GNU General Public License as published by the Free " +"Software Foundation; either version 2 of the License, or (at your option) " +"any later version." + +msgid "" +"This program is distributed in the hope that it will be useful, but WITHOUT " +"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " +"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for " +"more details." +msgstr "" +"This program is distributed in the hope that it will be useful, but WITHOUT " +"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " +"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for " +"more details." + +msgid "" +"You should have received a copy of the GNU General Public License along with " +"this program; if not, write to the Free Software Foundation, Inc., 675 Mass " +"Ave, Cambridge, MA 02139, USA." +msgstr "" +"You should have received a copy of the GNU General Public License along with " +"this program; if not, write to the Free Software Foundation, Inc., 675 Mass " +"Ave, Cambridge, MA 02139, USA." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2. +msgid "translator-credits" +msgstr "translator-credits" diff --git a/tcar-scripts-docs/Manpages/Locales/en_US/tcar_setModuleEnvironment.sh.po b/tcar-scripts-docs/Manpages/Locales/en_US/tcar_setModuleEnvironment.sh.po new file mode 100644 index 0000000..286f0dc --- /dev/null +++ b/tcar-scripts-docs/Manpages/Locales/en_US/tcar_setModuleEnvironment.sh.po @@ -0,0 +1,216 @@ +msgid "" +msgstr "" +"Project-Id-Version: tcar_setModuleEnvironment.sh.asciidoc 0.6\n" +"POT-Creation-Date: 2013-11-26 10:20-0500\n" +"PO-Revision-Date: 2013-11-26 10:20-0500\n" +"Last-Translator: Localization SIG \n" +"Language-Team: English\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "tcar_setmoduleenvironment.sh" +msgstr "tcar_setmoduleenvironment.sh" + +msgid "1" +msgstr "1" + +msgid "tcar_setModuleEnvironment.sh" +msgstr "tcar_setModuleEnvironment.sh" + +msgid "Initiate module environments." +msgstr "Initiate module environments." + +msgid "" +"tcar_setModuleEnvironment [-m \"MODULE_NAME\"] [-t \"MODULE_TYPE\"] [-g " +"MODULE_ARGUMENT] …" +msgstr "" +"tcar_setModuleEnvironment [-m \"MODULE_NAME\"] [-t \"MODULE_TYPE\"] [-g " +"MODULE_ARGUMENT] …" + +msgid "Description" +msgstr "Description" + +msgid "Options" +msgstr "Options" + +msgid "" +"The tcar_setModuleEnvironment function " +"accepts the following options:" +msgstr "" +"The tcar_setModuleEnvironment function " +"accepts the following options:" + +msgid "-m" +msgstr "-m" + +msgid "This option specifies the name of the module you want to load." +msgstr "This option specifies the name of the module you want to load." + +msgid "-t" +msgstr "-t" + +msgid "" +"This option specifies the type of the module you want to load. Modules can " +"be one of the following types:" +msgstr "" +"This option specifies the type of the module you want to load. Modules can " +"be one of the following types:" + +msgid "top-module" +msgstr "top-module" + +msgid "" +"This modules are stored in the first level of Modules directory. This type " +"of modules initiate module environments for specific tasks so it can be " +"called from anywhere inside centos-art.sh script." +msgstr "" +"This modules are stored in the first level of Modules directory. This type " +"of modules initiate module environments for specific tasks so it can be " +"called from anywhere inside centos-art.sh script." + +msgid "sub-module" +msgstr "sub-module" + +msgid "" +"This modules are stored from the second-level of Modules directory on. This " +"type of modules can be executed from top-modules, sub-modules, or sib-" +"modules but never the centos-art.sh " +"file itself." +msgstr "" +"This modules are stored from the second-level of Modules directory on. This " +"type of modules can be executed from top-modules, sub-modules, or sib-" +"modules but never the centos-art.sh " +"file itself." + +msgid "sib-module" +msgstr "sib-module" + +msgid "" +"This modules are stored from the second-level of Modules directory on. This " +"type of modules can be executed from sub-modules or sib-modules, but never " +"top-modules or the centos-art.sh file " +"itself." +msgstr "" +"This modules are stored from the second-level of Modules directory on. This " +"type of modules can be executed from sub-modules or sib-modules, but never " +"top-modules or the centos-art.sh file " +"itself." + +msgid "-g" +msgstr "-g" + +msgid "" +"This option specifies the module-specific option you want to pass for " +"processing in the module environment you are about to execute. Generally, " +"module-specific options are passed through centos-" +"art.sh command-line but you may need to pass them internally in " +"some cases (e.g., you are executing a top-module from a sub-module). If you " +"need to pass more than one option, then you need to put the -g option before " +"each option you want to pass." +msgstr "" +"This option specifies the module-specific option you want to pass for " +"processing in the module environment you are about to execute. Generally, " +"module-specific options are passed through centos-" +"art.sh command-line but you may need to pass them internally in " +"some cases (e.g., you are executing a top-module from a sub-module). If you " +"need to pass more than one option, then you need to put the -g option before " +"each option you want to pass." + +msgid "Bugs" +msgstr "Bugs" + +msgid "" +"In the very beginning of tcar_setModuleEnvironment function, it used just non-array " +"variables and it worked fine for top-module and sub-module processing, " +"however when it was needed to do sibling processing, it didn't work as " +"expected. The failure was produced because a wrong variable assignment when " +"tried to set the path of the next module to load. There was not a clean way " +"to “remember” what was the base directory of the parent directory, so it " +"ended up using the last loaded module base directory which made impossible " +"to load a sibling module. The tcar_setModuleEnvironment function as implemented in version " +"0.5 of The CentOS Artwork Repository, fixes this issue replacing non-array " +"variables by array variables which can remember module information." +msgstr "" +"In the very beginning of tcar_setModuleEnvironment function, it used just non-array " +"variables and it worked fine for top-module and sub-module processing, " +"however when it was needed to do sibling processing, it didn't work as " +"expected. The failure was produced because a wrong variable assignment when " +"tried to set the path of the next module to load. There was not a clean way " +"to “remember” what was the base directory of the parent directory, so it " +"ended up using the last loaded module base directory which made impossible " +"to load a sibling module. The tcar_setModuleEnvironment function as implemented in version " +"0.5 of The CentOS Artwork Repository, fixes this issue replacing non-array " +"variables by array variables which can remember module information." + +msgid "" +"See also: https://centos.org.cu/" +"bugs/" +msgstr "" +"See also: https://centos.org.cu/" +"bugs/" + +msgid "Author" +msgstr "Author" + +msgid "" +"The centos-art.sh script has received " +"contribution from the following people:" +msgstr "" +"The centos-art.sh script has received " +"contribution from the following people:" + +msgid "" +"Alain Reguera Delgado <al@centos." +"org.cu>, 2009-2013" +msgstr "" +"Alain Reguera Delgado <al@centos." +"org.cu>, 2009-2013" + +msgid "Copyright" +msgstr "Copyright" + +msgid "Copyright © 2009-2013 The CentOS Artwork SIG" +msgstr "Copyright © 2009-2013 The CentOS Artwork SIG" + +msgid "" +"This program is free software; you can redistribute it and/or modify it " +"under the terms of the GNU General Public License as published by the Free " +"Software Foundation; either version 2 of the License, or (at your option) " +"any later version." +msgstr "" +"This program is free software; you can redistribute it and/or modify it " +"under the terms of the GNU General Public License as published by the Free " +"Software Foundation; either version 2 of the License, or (at your option) " +"any later version." + +msgid "" +"This program is distributed in the hope that it will be useful, but WITHOUT " +"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " +"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for " +"more details." +msgstr "" +"This program is distributed in the hope that it will be useful, but WITHOUT " +"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " +"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for " +"more details." + +msgid "" +"You should have received a copy of the GNU General Public License along with " +"this program; if not, write to the Free Software Foundation, Inc., 675 Mass " +"Ave, Cambridge, MA 02139, USA." +msgstr "" +"You should have received a copy of the GNU General Public License along with " +"this program; if not, write to the Free Software Foundation, Inc., 675 Mass " +"Ave, Cambridge, MA 02139, USA." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2. +msgid "translator-credits" +msgstr "translator-credits" diff --git a/tcar-scripts-docs/Manpages/Locales/en_US/tcar_setTranslationMarkers.sh.po b/tcar-scripts-docs/Manpages/Locales/en_US/tcar_setTranslationMarkers.sh.po new file mode 100644 index 0000000..adddc15 --- /dev/null +++ b/tcar-scripts-docs/Manpages/Locales/en_US/tcar_setTranslationMarkers.sh.po @@ -0,0 +1,445 @@ +msgid "" +msgstr "" +"Project-Id-Version: tcar_setTranslationMarkers.sh.asciidoc 0.6\n" +"POT-Creation-Date: 2013-11-26 10:20-0500\n" +"PO-Revision-Date: 2013-11-26 10:20-0500\n" +"Last-Translator: Localization SIG \n" +"Language-Team: English\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "tcar_settranslationmarkers" +msgstr "tcar_settranslationmarkers" + +msgid "1" +msgstr "1" + +msgid "tcar_setTranslationMarkers" +msgstr "tcar_setTranslationMarkers" + +msgid "Expands translation markers." +msgstr "Expands translation markers." + +msgid "tcar_setTranslationMarkers \"FILE\"" +msgstr "tcar_setTranslationMarkers \"FILE\"" + +msgid "Description" +msgstr "Description" + +msgid "" +"The cli_setTranslationMarkers " +"standardizes construction of translation markers and their related " +"expansion. As convention, translation markers are set inside source files (e." +"g., DocBook, SVG) and expanded inside temporal instances used to produce " +"final contents. The FILE argument should point to the " +"temporal file where translation markers expansion takes place in." +msgstr "" +"The cli_setTranslationMarkers " +"standardizes construction of translation markers and their related " +"expansion. As convention, translation markers are set inside source files (e." +"g., DocBook, SVG) and expanded inside temporal instances used to produce " +"final contents. The FILE argument should point to the " +"temporal file where translation markers expansion takes place in." + +msgid "" +"Translation markers written in source files must comply the " +"== regular expression pattern. For example, =UNKNOWN_MARKER= is a valid translation marker without any " +"replacement. To prevent centos-art.sh " +"script from expanding translation markers, add a backslash (+) " +"between the first equal sign and the following letter. For example, +=...=+ " +"won't be expanded." +msgstr "" +"Translation markers written in source files must comply the " +"== regular expression pattern. For example, =UNKNOWN_MARKER= is a valid translation marker without any " +"replacement. To prevent centos-art.sh " +"script from expanding translation markers, add a backslash (+) " +"between the first equal sign and the following letter. For example, +=...=+ " +"won't be expanded." + +msgid "" +"The cli_setTranslationMarkers supports " +"the following translation markers:" +msgstr "" +"The cli_setTranslationMarkers supports " +"the following translation markers:" + +msgid "" +"=\\COPYRIGHT_YEAR_LAST=, =\\COPYRIGHT_YEAR=" +msgstr "" +"=\\COPYRIGHT_YEAR_LAST=, =\\COPYRIGHT_YEAR=" + +msgid "" +"These translation markers expand to the last year used in copyright notes. " +"For example, =COPYRIGHT_YEAR_LAST=." +msgstr "" +"These translation markers expand to the last year used in copyright notes. " +"For example, =COPYRIGHT_YEAR_LAST=." + +msgid "" +"=\\COPYRIGHT_YEAR_LIST=, =" +"\\COPYRIGHT_YEARS_LIST=" +msgstr "" +"=\\COPYRIGHT_YEAR_LIST=, =" +"\\COPYRIGHT_YEARS_LIST=" + +msgid "" +"This translation markers expand to the list of years used in copyright " +"notes. For example, =COPYRIGHT_YEARS_LIST=. The first " +"year represents the time we began to work on The CentOS Artwork Repository." +msgstr "" +"This translation markers expand to the list of years used in copyright " +"notes. For example, =COPYRIGHT_YEARS_LIST=. The first " +"year represents the time we began to work on The CentOS Artwork Repository." + +msgid "=\\COPYRIGHT_HOLDER=" +msgstr "=\\COPYRIGHT_HOLDER=" + +msgid "" +"This translation marker expands to the holder used in copyright notes. For " +"example, =COPYRIGHT_HOLDER=." +msgstr "" +"This translation marker expands to the holder used in copyright notes. For " +"example, =COPYRIGHT_HOLDER=." + +msgid "=\\COPYRIGHT_HOLDER_PREDICATE=" +msgstr "=\\COPYRIGHT_HOLDER_PREDICATE=" + +msgid "" +"This translation marker expands both the holder and the predicate used in " +"copyright notes. For example, =COPYRIGHT_HOLDER_PREDICATE=." +msgstr "" +"This translation marker expands both the holder and the predicate used in " +"copyright notes. For example, =COPYRIGHT_HOLDER_PREDICATE=." + +msgid "=\\BRAND=" +msgstr "=\\BRAND=" + +msgid "" +"This translation marker expands to the brand name used on files names and " +"URLs inside The CentOS Artwork Repository. For example, =BRAND=." +msgstr "" +"This translation marker expands to the brand name used on files names and " +"URLs inside The CentOS Artwork Repository. For example, =BRAND=." + +msgid "=\\LICENSE=" +msgstr "=\\LICENSE=" + +msgid "" +"This translation marker expands to the license information used in files " +"created by centos-art.sh script. For " +"example, =LICENSE=." +msgstr "" +"This translation marker expands to the license information used in files " +"created by centos-art.sh script. For " +"example, =LICENSE=." + +msgid "=\\LICENSE_URL=" +msgstr "=\\LICENSE_URL=" + +msgid "" +"This translation marker expands to the license URL used in files created by " +"centos-art.sh script. For example, " +"=LICENSE_URL=." +msgstr "" +"This translation marker expands to the license URL used in files created by " +"centos-art.sh script. For example, " +"=LICENSE_URL=." + +msgid "=\\THEME=" +msgstr "=\\THEME=" + +msgid "" +"This translation marker expands to the theme portion of path you are " +"producing through centos-art.sh script. As consequence, this translation " +"marker should be used in situations where you are producing theme components " +"only. This translation marker expands its value by retrieving the theme part " +"of the path you provide as non-option argument to centos-art.sh script. For example, if you provide the path " +"Identity/Images/Themes/Modern/2/Distro/5, this " +"translation will expand to the Modern/2/ value." +msgstr "" +"This translation marker expands to the theme portion of path you are " +"producing through centos-art.sh script. As consequence, this translation " +"marker should be used in situations where you are producing theme components " +"only. This translation marker expands its value by retrieving the theme part " +"of the path you provide as non-option argument to centos-art.sh script. For example, if you provide the path " +"Identity/Images/Themes/Modern/2/Distro/5, this " +"translation will expand to the Modern/2/ value." + +msgid "" +"In case you need to retrieve the theme name or version separately one " +"another, then you can use the =\\THEMENAME= and =" +"\\THEMERELEASE= translation markers, respectively. When you use " +"these translation markers, forward slashes are removed from result. So, if " +"you provide the path Identity/Images/Themes/Modern/2/Distro/5, =\\THEMENAME= will expand to Modern and =THEMERELEASE= will expand to 2." +msgstr "" +"In case you need to retrieve the theme name or version separately one " +"another, then you can use the =\\THEMENAME= and =" +"\\THEMERELEASE= translation markers, respectively. When you use " +"these translation markers, forward slashes are removed from result. So, if " +"you provide the path Identity/Images/Themes/Modern/2/Distro/5, =\\THEMENAME= will expand to Modern and =THEMERELEASE= will expand to 2." + +msgid "=\\RELEASE=" +msgstr "=\\RELEASE=" + +msgid "" +"This translation marker expands to the current release information of your " +"CentOS distribution. By default this information is retrieved from /" +"etc/redhat-release. In case the option --" +"release be passed, the value specified with it will overwrite the " +"default value and will be this the one used as section for this translation " +"marker to retrieve the release information. So, for example, if you are " +"running a CentOS-5.8 distribution and no --" +"release option is passed to centos-art." +"sh script, this translation marker expands to 5.8. On the other hand, if you are still running a CentOS-5.8 " +"distribution but provide the --release=6.3 option to centos-art.sh " +"script, this translation marker expands to 6.3 instead." +msgstr "" +"This translation marker expands to the current release information of your " +"CentOS distribution. By default this information is retrieved from /" +"etc/redhat-release. In case the option --" +"release be passed, the value specified with it will overwrite the " +"default value and will be this the one used as section for this translation " +"marker to retrieve the release information. So, for example, if you are " +"running a CentOS-5.8 distribution and no --" +"release option is passed to centos-art." +"sh script, this translation marker expands to 5.8. On the other hand, if you are still running a CentOS-5.8 " +"distribution but provide the --release=6.3 option to centos-art.sh " +"script, this translation marker expands to 6.3 instead." + +msgid "" +"In case you need to retrieve minor and major release numbers separately one " +"another, then you can use the =\\MINOR_RELEASE= and " +"=\\MAJOR_RELEASE= translation makers, respectively." +msgstr "" +"In case you need to retrieve minor and major release numbers separately one " +"another, then you can use the =\\MINOR_RELEASE= and " +"=\\MAJOR_RELEASE= translation makers, respectively." + +msgid "=\\ARCH=" +msgstr "=\\ARCH=" + +msgid "" +"This translation marker expands to the current architecture of your CentOS " +"Distribution. By default this information is retrieved from uname -i. In case the option --arch be passed, the value specified with it will overwrite " +"the default value and will be the one used as section. For example, if the " +"uname -i outputs the line <" +"computeroutput>i386</computeroutput>, this translation marker will " +"expand to i386. On the other hand, if you pass the " +"--arch=x86_64 option to centos-art.sh script, this translation marker will " +"expand to x86_64 instead." +msgstr "" +"This translation marker expands to the current architecture of your CentOS " +"Distribution. By default this information is retrieved from uname -i. In case the option --arch be passed, the value specified with it will overwrite " +"the default value and will be the one used as section. For example, if the " +"uname -i outputs the line <" +"computeroutput>i386</computeroutput>, this translation marker will " +"expand to i386. On the other hand, if you pass the " +"--arch=x86_64 option to centos-art.sh script, this translation marker will " +"expand to x86_64 instead." + +msgid "=\\URL=" +msgstr "=\\URL=" + +msgid "" +"This translation marker expands to the URL which points to The CentOS " +"Project home page. For example, =URL=. In case you are " +"using the centos-art.sh script in a different locale but English " +"(en_US.UTF-8), this translation marker expands as usual " +"but with the language information appended to the end of the string. For " +"example, if you are executing the centos-art.shscript for Spanish locale (e." +"g., es_ES.UTF-8), this translation marker expands to " +"=URL=es/." +msgstr "" +"This translation marker expands to the URL which points to The CentOS " +"Project home page. For example, =URL=. In case you are " +"using the centos-art.sh script in a different locale but English " +"(en_US.UTF-8), this translation marker expands as usual " +"but with the language information appended to the end of the string. For " +"example, if you are executing the centos-art.shscript for Spanish locale (e." +"g., es_ES.UTF-8), this translation marker expands to " +"=URL=es/." + +msgid "" +"In case you need to expand other URL related to The CentOS Project domain, " +"use translation markers described in . Likewise =\\URL=, translation markers described in does append the current " +"language information to the end of the URL string based on the locale " +"information you are currently executing the centos-" +"art.sh script." +msgstr "" +"In case you need to expand other URL related to The CentOS Project domain, " +"use translation markers described in . Likewise =\\URL=, translation markers described in does append the current " +"language information to the end of the URL string based on the locale " +"information you are currently executing the centos-" +"art.sh script." + +msgid "URL-related translation markers" +msgstr "URL-related translation markers" + +msgid "-------------------`----------------- Translation Marker Expands To" +msgstr "-------------------`----------------- Translation Marker Expands To" + +#, no-wrap +msgid "" +"=\\URL_WIKI= =URL_WIKI=\n" +"=\\URL_LISTS= =URL_LISTS=\n" +"=\\URL_FORUMS= =URL_FORUMS=\n" +"=\\URL_MIRRORS= =URL_MIRRORS=\n" +"=\\URL_DOCS= =URL_DOCS=\n" +"=\\URL_PROJECTS= =URL_PROJECTS=\n" +"=\\URL_SVN= =URL_SVN=\n" +"=\\URL_TRAC= =URL_TRAC=\n" +"=\\URL_PLANET= =URL_PLANET=" +msgstr "" +"=\\URL_WIKI= =URL_WIKI=\n" +"=\\URL_LISTS= =URL_LISTS=\n" +"=\\URL_FORUMS= =URL_FORUMS=\n" +"=\\URL_MIRRORS= =URL_MIRRORS=\n" +"=\\URL_DOCS= =URL_DOCS=\n" +"=\\URL_PROJECTS= =URL_PROJECTS=\n" +"=\\URL_SVN= =URL_SVN=\n" +"=\\URL_TRAC= =URL_TRAC=\n" +"=\\URL_PLANET= =URL_PLANET=" + +msgid "=\\MAIL_DOCS=" +msgstr "=\\MAIL_DOCS=" + +msgid "" +"This translation marker expands to CentOS documentation mailing list " +"address. For example, =MAIL_DOCS=." +msgstr "" +"This translation marker expands to CentOS documentation mailing list " +"address. For example, =MAIL_DOCS=." + +msgid "=\\LOCALE=" +msgstr "=\\LOCALE=" + +msgid "" +"This translation marker expands to the current locale information used by " +"centos-art.sh script. This value is " +"retrieved from the <envar>LANG</envar> environment variable and " +"should look like =LOCALE=. In case you need to retrieve " +"the language and country part separately one another, you can use the " +"=\\LOCALE_LL= and =\\LOCALE_CC=, " +"respectively." +msgstr "" +"This translation marker expands to the current locale information used by " +"centos-art.sh script. This value is " +"retrieved from the <envar>LANG</envar> environment variable and " +"should look like =LOCALE=. In case you need to retrieve " +"the language and country part separately one another, you can use the " +"=\\LOCALE_LL= and =\\LOCALE_CC=, " +"respectively." + +msgid "=\\REPO_TLDIR=" +msgstr "=\\REPO_TLDIR=" + +msgid "" +"This translation marker expands to the absolute path to <filename class=" +"\"directory\"> directory inside your workstation. For example, /home/al/Projects/CentOS/artwork/trunk+." +msgstr "" +"This translation marker expands to the absolute path to <filename class=" +"\"directory\"> directory inside your workstation. For example, /home/al/Projects/CentOS/artwork/trunk+." + +msgid "=\\REPO_HOME=, =\\TCAR_WORKDIR=" +msgstr "=\\REPO_HOME=, =\\TCAR_WORKDIR=" + +msgid "" +"This translation marker expands to the absolute path of your working copy. " +"For example, /home/al/Projects/CentOS/artwork." +msgstr "" +"This translation marker expands to the absolute path of your working copy. " +"For example, /home/al/Projects/CentOS/artwork." + +msgid "Bugs" +msgstr "Bugs" + +msgid "See https://centos.org.cu/bugs/" +msgstr "See https://centos.org.cu/bugs/" + +msgid "Authors" +msgstr "Authors" + +msgid "" +"The tcar_setTranslationMarkers function " +"has received contributions from the following people:" +msgstr "" +"The tcar_setTranslationMarkers function " +"has received contributions from the following people:" + +msgid "Alain Reguera Delgado <al@centos.org.cu>, =COPYRIGHT_YEAR_LIST=" +msgstr "Alain Reguera Delgado <al@centos.org.cu>, =COPYRIGHT_YEAR_LIST=" + +msgid "License" +msgstr "License" + +msgid "Copyright © =COPYRIGHT_YEAR_LIST= =COPYRIGHT_HOLDER=" +msgstr "Copyright © =COPYRIGHT_YEAR_LIST= =COPYRIGHT_HOLDER=" + +msgid "" +"This program is free software; you can redistribute it and/or modify it " +"under the terms of the GNU General Public License as published by the Free " +"Software Foundation; either version 2 of the License, or (at your option) " +"any later version." +msgstr "" +"This program is free software; you can redistribute it and/or modify it " +"under the terms of the GNU General Public License as published by the Free " +"Software Foundation; either version 2 of the License, or (at your option) " +"any later version." + +msgid "" +"This program is distributed in the hope that it will be useful, but WITHOUT " +"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " +"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for " +"more details." +msgstr "" +"This program is distributed in the hope that it will be useful, but WITHOUT " +"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " +"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for " +"more details." + +msgid "" +"You should have received a copy of the GNU General Public License along with " +"this program; if not, write to the Free Software Foundation, Inc., 675 Mass " +"Ave, Cambridge, MA 02139, USA." +msgstr "" +"You should have received a copy of the GNU General Public License along with " +"this program; if not, write to the Free Software Foundation, Inc., 675 Mass " +"Ave, Cambridge, MA 02139, USA." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2. +msgid "translator-credits" +msgstr "translator-credits" diff --git a/tcar-scripts-docs/Manpages/centos-art.sh.asciidoc b/tcar-scripts-docs/Manpages/centos-art.sh.asciidoc new file mode 100644 index 0000000..482bde1 --- /dev/null +++ b/tcar-scripts-docs/Manpages/centos-art.sh.asciidoc @@ -0,0 +1,140 @@ +centos-art.sh(1) +================ + +Name +---- + +centos-art.sh - The CentOS artwork repository automation tool. + +Synopsis +-------- + +*centos-art.sh* [*--help*|*--version*]:: + Print information about *centos-art.sh* script itself. + +*centos-art.sh* *MODULE* [*--help|--version*]:: + Print information about the specified module. See <> + below to see which modules *centos-art.sh* script supports. + +Description +----------- + +*centos-art.sh* exists to standardize frequent tasks inside the CentOS +artwork repository. Inside *centos-art.sh* script, frequent tasks are +organized inside modules. + +When you execute the *centos-art.sh* script in a terminal, it requests +you to enter the absolute path of CentOS artwork repository in your +workstation. This information is required in order for *centos-art.sh* +to know where the repository directory structure you want to work with +is stored in. Later, once *centos-art.sh* knows where your copy of +CentOS artwork repository is stored in, it initializes configuration +variables and global functions. At this point, it continues reading +the command-line arguments to retrieve the module's name, process +common options next to it, store module-specific options and initiates +the module's environment by executing the module's initialization +script, based on the module's name retrieved from the command-line. + +[[modules]] +Modules +------- + +The *centos-art.sh* script supports the following modules: + +*prepare*:: + Standardize configuration tasks needed by your working copy (e.g., + verify whether required packages are installed or not in your + workstation, calls render module to produce images and manuals in + the correct order). This is the first task you should run in your + workstation, just after downloading a fresh working copy of CentOS + artwork repository. + +*render*:: + Standardize the way content is produced inside the repository. + This function relies on configuration files to do its work. + Whenever you need to produce images, documentation or localized + content this is the module you'll need to use. + +*locale*:: + Standardize the way translatable strings are retrieved from source + files and put into portable objects for you to edit. Portable + objects produced by this module are used by *render* module to + produce localized content. Whenever you need to produce the + intermediate files holding the translatable strings required to + produce localized content, use this module. + +*tuneup*:: + Standardize maintenance tasks frequently run inside the repository + (e.g., reset written by, copyright and license information inside + shell script's top-comments; transform probably malformed HTML + documents into valid documents, and remove unused tags inside SVG + documents.). + +[[options]] +Options +------- + +The *centos-art.sh* script supports the following options: + +*--help*:: + Print script documentation. + +*--version*:: + Print script version. + +*--debug*:: + Run the script in debugging mode. This option is very useful if + you want to get a closer look to the way modules are opened and + closed inside *centos-art.sh* script. + +*--quiet*:: + Run the script quietly. This option reduces the amount of + information the *centos-art.sh* script prints out when processing + source files. + +*--yes*:: + Run the script in affirmative mode. This is answering ``yes'' to + all ``yes or no'' questions. This option is useful when you run + *centos-art.sh* with the *--quiet* option. + +[[exit-status]] +Exit Status +----------- + +* 0 -- Exit successfully without errors. +* 1 -- Exit with errors. + +[[bugs]] +Bugs +---- + +* https://centos.org.cu/bugs/[https://centos.org.cu/bugs/] + +Author +------ + +The *centos-art.sh* script has received contribution from the +following people: + +* Alain Reguera Delgado , 2009-2013 + +Copyright +--------- + +Copyright (C) 2009-2013 The CentOS Artwork SIG + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or (at +your option) any later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +// vim: set syntax=asciidoc: diff --git a/tcar-scripts-docs/Manpages/render.conf b/tcar-scripts-docs/Manpages/render.conf new file mode 100644 index 0000000..fef2aa6 --- /dev/null +++ b/tcar-scripts-docs/Manpages/render.conf @@ -0,0 +1,63 @@ +[centos-art.sh] +render-type = "asciidoc" +render-flow = "manpage" +render-from = "centos-art.sh.asciidoc" +locale-from = "Locales/${TCAR_SCRIPT_LANG_LC}/centos-art.sh.po" +formats = "xhtml manpage" +mansect = "1" + +[tcar_setModuleEnvironment.sh] +render-type = "asciidoc" +render-flow = "manpage" +render-from = "tcar_setModuleEnvironment.sh.asciidoc" +locale-from = "Locales/${TCAR_SCRIPT_LANG_LC}/tcar_setModuleEnvironment.sh.po" +formats = "xhtml manpage" +mansect = "1" + +[tcar_checkFiles.sh] +render-type = "asciidoc" +render-flow = "manpage" +render-from = "tcar_checkFiles.sh.asciidoc" +locale-from = "Locales/${TCAR_SCRIPT_LANG_LC}/tcar_checkFiles.sh.po" +formats = "xhtml manpage" +mansect = "1" + +[tcar_checkRepoDirSource.sh] +render-type = "asciidoc" +render-flow = "manpage" +render-from = "tcar_checkRepoDirSource.sh.asciidoc" +locale-from = "Locales/${TCAR_SCRIPT_LANG_LC}/tcar_checkRepoDirSource.sh.po" +formats = "xhtml manpage" +mansect = "1" + +[tcar_getConfigValue.sh] +render-type = "asciidoc" +render-flow = "manpage" +render-from = "tcar_getConfigValue.sh.asciidoc" +locale-from = "Locales/${TCAR_SCRIPT_LANG_LC}/tcar_getConfigValue.sh.po" +formats = "xhtml manpage" +mansect = "1" + +[tcar_getFilesList.sh] +render-type = "asciidoc" +render-flow = "manpage" +render-from = "tcar_getFilesList.sh.asciidoc" +locale-from = "Locales/${TCAR_SCRIPT_LANG_LC}/tcar_getFilesList.sh.po" +formats = "xhtml manpage" +mansect = "1" + +[tcar_printMessage.sh] +render-type = "asciidoc" +render-flow = "manpage" +render-from = "tcar_printMessage.sh.asciidoc" +locale-from = "Locales/${TCAR_SCRIPT_LANG_LC}/tcar_printMessage.sh.po" +formats = "xhtml manpage" +mansect = "1" + +[tcar_setTranslationMarkers.sh] +render-type = "asciidoc" +render-flow = "manpage" +render-from = "tcar_setTranslationMarkers.sh.asciidoc" +locale-from = "Locales/${TCAR_SCRIPT_LANG_LC}/tcar_setTranslationMarkers.sh.po" +formats = "xhtml manpage" +mansect = "1" diff --git a/tcar-scripts-docs/Manpages/tcar_checkFiles.sh.asciidoc b/tcar-scripts-docs/Manpages/tcar_checkFiles.sh.asciidoc new file mode 100644 index 0000000..7a0de6e --- /dev/null +++ b/tcar-scripts-docs/Manpages/tcar_checkFiles.sh.asciidoc @@ -0,0 +1,135 @@ +tcar_checkFiles(1) +================== + +== Name + +tcar_checkFiles - Standardize constructions for file verifications. + +== Synopsis + +*cli_checkFiles [-d|-e|-f|-h|-x] LOCATION* + +== Description + +The *cli_checkFiles* exists to answer basic questions like ``Is ++LOCATION+ is a regular file?'' and ``Is +LOCATION+ a directory?''. +The answer to such questions affects the script execution flow in the +following way: when the answer positive (e.g., +LOCATION+ is a regular +file), the script passes the test silently and continues its +execution. When the answer is negative(e.g., +LOCATION+ is not a +regular file), the script finishes its execution immediately with an +error message. + +The *cli_checkFiles* function is exported to *centos-art.sh* script +environment in the very beginning of its execution and will be +available all along its execution lifetime. You can use this function +inside common and specific functions whenever you need to verify files +inside the The CentOS Artwork Repository. + +The *cli_checkFiles* function is available inside the *centos-art.sh* +script only as part of its execution environment. This function is +exported to *centos-art.sh* script just after executing the script +from the command-line and will be available all along the script +lifetime. So, you can use this function both in common and specific +functionalities of centos-art.sh script. + +The *cli_checkFiles* function doesn't create +subsequent execution environments. + +== Usage + +Use the *cli_checkFiles* function inside *centos-art.sh* script +whenever you need to control the script execution flow based on file +type (e.g., regular files, directories, links, etc.) verifications. + +== Options + +The *cli_checkFiles* function accepts the following options: + +-d:: + Verifies whether +LOCATION+ exists and is a directory. If it + doesn't exists or isn't a directory, an error message is printed + and the script finishes its execution. Otherwise, if it exists + and is a directory, the script continues its execution normally. +-e:: + Verifies whether +LOCATION+ exists or not. If it doesn't exist, an + error message is printed and the script finishes its execution. + Otherwise, if it does exists, the script continues its execution + normally. +-f:: + Verifies whether +LOCATION+ exists and is a regular file. If it + doesn't exists or isn't a regular file, an error message is + printed and the script finishes its execution. Otherwise, if it + exists and is a regular file, the script continues its execution + normally. +-h:: + Verifies whether +LOCATION+ exists and is a symbolic link. If it + doesn't exists or isn't a symbolic link, an error message is + printed and the script finishes its execution immediately. + Otherwise, if it does exist and is a symbolic link, the script + continue its execution normally. +-x:: + Verifies whether +LOCATION+ exists and execution permission is + granted. If it doesn't exist or hasn't execution permission, the + script finishes its execution immediately. Otherwise, if it exists + and has execution permissions, the script continues its execution + normally. + +The value of the +LOCATION+ argument must be an absolute path to the +file you want to verify. If such file doesn't exists in any supported +form, the script finishes its execution with an error message. + +== Examples + +The following example was taken from *centos-art.sh* script +initialization phase. Notice the position of *cli_checkFiles* +function inside the loop. If some of the function files we need to +export doesn't have execution rights, *cli_checkFiles* will finish the +script execution immediately with an error message. + +---------------------------------------------------------------------- +for FUNCFILE in ${FUNCFILES};do + + # Verify the execution rights for function file. + cli_checkFiles -x ${FUNCFILE} + + # Initialize the function file. + . ${FUNCFILE} + + # Export the function names inside the file to current shell + # script environment. + export -f $(egrep "${PATTERN}" ${FUNCFILE} | gawk '{ print $2 }') + +done +---------------------------------------------------------------------- + +== Bugs + +See https://centos.org.cu/bugs/ + +== Authors + +The *tcar_checkFiles* function has received contributions from the +following people: + +- Alain Reguera Delgado , =COPYRIGHT_YEAR_LIST= + +== License + +Copyright (C) =COPYRIGHT_YEAR_LIST= =COPYRIGHT_HOLDER= + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or (at +your option) any later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +// vim: set syntax=asciidoc: diff --git a/tcar-scripts-docs/Manpages/tcar_checkRepoDirSource.sh.asciidoc b/tcar-scripts-docs/Manpages/tcar_checkRepoDirSource.sh.asciidoc new file mode 100644 index 0000000..412d4e6 --- /dev/null +++ b/tcar-scripts-docs/Manpages/tcar_checkRepoDirSource.sh.asciidoc @@ -0,0 +1,59 @@ +tcar_checkRepoDirSource.sh(1) +============================= + +== Name + +tcar_checkRepoDirSource - Standardize the working copy's absolute path +construction. + +== Synopsis + +tcar_checkRepoDirSource "LOCATION" + +== Description + +The *tcar_checkRepoDirSource* function standardizes the path +construction to directories inside it the working copy, using absolute +paths. This function transforms relative paths passed as non-option +arguments to *centos-art.sh* script command-line into absolute paths +inside the working copy and verifies whether they really exist as +directories inside the working copy or not. If the path provided +doesn't exist as directory inside the working copy, the script will +finish its execution immediately with an error message. Otherwise, if +the directory exists, the variable +TCAR_ARGUMENTS+ is redefined with +the related absolute path for further use. + +Use the *tcar_checkRepoDirSource* function whenever you need to be +sure that non-option arguments passed to *centos-art.sh* script +command-line will always point to directories inside the working copy. + +== Bugs + +See https://centos.org.cu/bugs/ + +== Authors + +The *tcar_checkRepoDirSource* function has received contributions from +the following people: + +- Alain Reguera Delgado , =COPYRIGHT_YEAR_LIST= + +== License + +Copyright (C) =COPYRIGHT_YEAR_LIST= =COPYRIGHT_HOLDER= + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or (at +your option) any later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +// vim: set syntax=asciidoc: diff --git a/tcar-scripts-docs/Manpages/tcar_getConfigValue.sh.asciidoc b/tcar-scripts-docs/Manpages/tcar_getConfigValue.sh.asciidoc new file mode 100644 index 0000000..bd5002e --- /dev/null +++ b/tcar-scripts-docs/Manpages/tcar_getConfigValue.sh.asciidoc @@ -0,0 +1,72 @@ +tcar_getConfigValue.sh(1) +========================= + +== Name + +tcar_getConfigValue - Standardize options retrieval from configuration +files. + +== Synopsis + +*tcar_getConfigValue FILE SECTION OPTION* + +== Description + +The *tcar_getConfigValue* function standardizes the way option values +are retrieved from configuration files. As convention, +*tcar_getConfigValue* uses the output produced by +*tcar_getConfigLines* as input to retrieve the option values. As +convention, in +option = "value"+ lines, the values retrieved are +always on the right side. The values retrieved are also output without +quotation and translation markers already expanded. + +The *tcar_getConfigValue* function accepts the +following arguments: + +FILE:: + This argument specifies the absolute path to the configuration + file you want to retrieve the value from. For example, + ``+${TCAR_WORKDIR}/Identity/Models/Themes/Default/Distro/5/Anaconda/branding.conf+''. + +SECTION:: + This argument specifies the name of the section related to the + configuration line you want to retrieve the value from. For + example, ``symbols'' without brackets. + +OPTION:: + This argument specifies the name of the option you want to + retrieve the value from. + +Use the *tcar_getConfigValue* function whenever you want to retrieve +values from configuration files in a controlled way. + +== Bugs + +See https://centos.org.cu/bugs/ + +== Authors + +The *tcar_checkFiles* function has received contributions from the +following people: + +- Alain Reguera Delgado , =COPYRIGHT_YEAR_LIST= + +== License + +Copyright (C) =COPYRIGHT_YEAR_LIST= =COPYRIGHT_HOLDER= + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or (at +your option) any later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +// vim: set syntax=asciidoc: diff --git a/tcar-scripts-docs/Manpages/tcar_getFilesList.sh.asciidoc b/tcar-scripts-docs/Manpages/tcar_getFilesList.sh.asciidoc new file mode 100644 index 0000000..8ca537d --- /dev/null +++ b/tcar-scripts-docs/Manpages/tcar_getFilesList.sh.asciidoc @@ -0,0 +1,107 @@ +tcar_getFilesList.sh(1) +======================= + +== Name + +tcar_getFilesList - Create customized list of files for further +processing. + +== Synopsis + +*tcar_getFilesList [--pattern|--mindepth|--maxdepth|--type|--uid] LOCATION* + +== Description + +The *tcar_getFilesList* standardizes the way list of files are built +inside the *centos-art.sh* script. This function outputs a sorted and +unique list of files based on the options and location provided as +argument. This function is an interface to the *find* command. Don't +use *find* command directly inside the centos-art.sh script. Instead, +use the *tcar_getFilesList* function. + +The +LOCATION+ arguments must be the absolute path to a directory and +specifies where the search of files in any form (e.g., directories, +links, etc.) will take place in. If +LOCATION+ isn't a directory, the +script finishes its execution with an error message. + +The *tcar_getFilesList* accepts the following options: + +--pattern="REGEX":: + This option specifies a posix-egrep type regular expression as + value. This regular expression is applied to path specified in + +LOCATION+ argument. Only file paths that match this regular + expression inside +LOCATION+ directory will be included in the + final list of files. By default, if this option is not provided, + the ``+^/.*[[:alnum:]_/-]+$+'' regular expression + is used. ++ +When you use the *tcar_getFilesList* you don't need to specified the +absolute path of files you want to look for. This is something +*tcar_getFilesList* already does for you. When you use this function, +the value you pass as regular expression isn't the final regular +expression used. Instead, the regular expression you pass is used to +build the final regular expression passed to *find* command. The +final regular expression passed to find is ``+^/.*${PATTERN}$+'', +where +${PATTERN}+ is the value you passed to *--pattern* option as +REGEX. + +--mindepth="NUMBER":: + This option specifies the minimal +NUMBER+ of levels deep the + search should go under the directory +LOCATION+ specified. For + example, if you specify *--mindepth="2"* the search will start two + levels deep considering the path provided as section. + +--maxdepth="NUMBER":: + This option specifies the maximum +NUMBER+ of levels deep the + search should go under the directory +LOCATION+ specified. For + example, if you specify *--maxdepth="2"* the search will begin in + the very same directory path you provided as +LOCATION+ and stop + two levels deep using it as section. + +--type="STRING":: + This option specifies the type of files being searched. This + option accepts the same values the *find* *-type* option does. + However, the following +STRING+ values are the most used inside + the script so far: ++ +- d — directory. +- f — regular file. + +--uid="NUMBER":: + This option specifies the numeric user id of the files you want to + search. Only files that match this numeric user id will be added + to the final list of files. + +Use the *tcar_getFilesList* whenever you need to build list of files +for further processing. + +== Bugs + +See https://centos.org.cu/bugs/ + +== Authors + +The *tcar_checkFiles* function has received contributions from the +following people: + +- Alain Reguera Delgado , =COPYRIGHT_YEAR_LIST= + +== License + +Copyright (C) =COPYRIGHT_YEAR_LIST= =COPYRIGHT_HOLDER= + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or (at +your option) any later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +// vim: set syntax=asciidoc: diff --git a/tcar-scripts-docs/Manpages/tcar_printMessage.sh.asciidoc b/tcar-scripts-docs/Manpages/tcar_printMessage.sh.asciidoc new file mode 100644 index 0000000..7db2ed8 --- /dev/null +++ b/tcar-scripts-docs/Manpages/tcar_printMessage.sh.asciidoc @@ -0,0 +1,192 @@ +tcar_printMessage.sh(1) +======================= + +== Name + +tcar_printMessage.sh - Print customized messages in standard ways. + +== Synopsis + +*tcar_printMessage "MESSAGE" [--as-separator-line|--as-banner-line|--as-cropping-line|--as-tuningup-line|--as-checking-line|--as-combining-line|--as-creating-line|--as-reading-line|--as-savedas-line|--as-linkto-line|--as-movedto-line|--as-validating-line|--as-template-line|--as-configuration-line|--as-palette-line|--as-reponse-line|--as-request-line|--as-selection-line|--as-error-line|--as-toknowmore-line|--as-yesornorequest-line|--as-notrailingnew-line|--as-stdout-line|--as-stderr-line]* + +== Description + +The *tcar_printMessage* function standardizes the way centos-art.sh +scirpt prints messages. By default, centos-art.sh script prints all +messages to the standard output with the exception of those messages +printed with the *--as-stderr-line* option, which are printed to +standard error output instead. + +The *tcar_printMessage* function requires two arguments. The first +argument specifies the message you want to print and the second +argument specifies the format you'll use to print that message. +Because this function is so used inside the centos-art.sh script, it +is convenient to provide localization to strings passed as +MESSAGE+ +using *gettext* constructions when they aren't paths. + +== Options + +The *tcar_printMessage* function accepts the following format options +as second argument: + +--as-separator-line:: + This format takes the first character passed as +MESSAGE+ and + repeats it horizontally to build a separator line. Use this + format whenever you need to create a logical separation between + different actions. + +--as-banner-line:: + This format takes the string passed as +MESSAGE+ and puts it + inside two horizontal separator lines. Use this format whenever + you need to print header information for following lines. + +--as-cropping-line:: + This format is for two columns messages where +MESSAGE+ generally + refers to a file inside the repository. Use this format whenever + you need to imply the fact that certain file has been cropped. + +--as-tuningup-line:: + This format is for two columns messages where +MESSAGE+ generally + refers to a file inside the repository. Use this format whenever + you need to imply the fact that certain file has been tuned-up. + +--as-checking-line:: + This format is for two columns messages where +MESSAGE+ generally + refers to a file inside the repository. Use this format whenever + you need to imply the fact that certain file has been checked or + verified (e.g., through *tcar_checkFiles* functionality). + +--as-combining-line:: + This format is for two columns messages where +MESSAGE+ generally + refers to a file inside the repository. Use this format whenever + you need to imply the fact that certain file has been combined. + +--as-creating-line:: + This format is for two columns messages where +MESSAGE+ generally + refers to a file inside the repository. Use this format whenever + you need to imply the fact that certain file has been created. + +--as-reading-line:: + This format is for two columns messages where +MESSAGE+ generally + refers to a file inside the repository. Use this format whenever + you need to imply the fact that certain file has been read. + +--as-savedas-line:: + This format is for two columns messages where +MESSAGE+ generally + refers to a file inside the repository. Use this format whenever + you need to imply the fact that certain file has been saved. + +--as-linkto-line:: + This format is for two columns messages where +MESSAGE+ generally + refers to a file inside the repository. Use this format whenever + you need to imply the fact that certain file has been linked. + +--as-movedto-line:: + This format is for two columns messages where +MESSAGE+ generally + refers to a file inside the repository. Use this format whenever + you need to imply the fact that certain file has been moved. + +--as-validating-line:: + This format is for two columns messages where +MESSAGE+ generally + refers to a file inside the repository. Use this format whenever + you need to imply the fact that certain file has been validated. + +--as-template-line:: + This format is for two columns messages where +MESSAGE+ generally + refers to a file inside the repository. Use this format whenever + you need to imply the fact that certain file is a template or + design model. + +--as-configuration-line:: + This format is for two columns messages where +MESSAGE+ generally + refers to a file inside the repository. Use this format whenever + you need to imply the fact that certain file is a configuration + file. + +--as-palette-line:: + This format is for two columns messages where +MESSAGE+ generally + refers to a file inside the repository. Use this format whenever + you need to imply the fact that certain file is a palette of + colors. + +--as-response-line:: + This format adds +-->+ at the beginning of the string passed as + +MESSAGE+. Use this format whenever you need to imply the fact + that certain file is considered part of a response. For example, + when you need to express that a group of files will take certain + action, you can use this option to doing so. + +--as-request-line:: + This format prints +MESSAGE+ without trailing new line. Use this + format whenever you need to imply a question or yes or no request. + +--as-selection-line:: + This format uses each word in +MESSAGE+ as item of a selection + list. Use this format whenever you need to select one of the items + provided as +MESSAGE+. + +--as-error-line:: + This format prints error messages produced by centos-art.sh + script. It uses the *caller* built-in command to display the line + number and the filename where such error was triggered. Later, it + prints where to find more information by using the + *--as-toknowmore-line* option. + +--as-toknowmore-line:: + This format takes a function name as +MESSAGE+ and prints the + command you can use to find more information about it. When this + option is passed the script finishes its execution immediately. + This option is used in combination with *--as-error-line* to + finish the script execution after an error. + +--as-yesornorequest-line:: + This format takes a question as +MESSAGE+ and reads a yes or no + answer. When answer is negative, the script finishes its execution + immediately. When answer is affirmative, the script continues its + execution normally. + +--as-notrailingnew-line:: + Print +MESSAGE+ without any trailing + newline. + +--as-stdout-line:: + Print +MESSAGE+ to standard output. + +--as-stderr-line:: + Print +MESSAGE+ to standard error output. + +== Examples + +... + +== Bugs + +See https://centos.org.cu/bugs/ + +== Authors + +The *tcar_printMessage* function has received contributions from the +following people: + +- Alain Reguera Delgado , =COPYRIGHT_YEAR_LIST= + +== License + +Copyright (C) =COPYRIGHT_YEAR_LIST= =COPYRIGHT_HOLDER= + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or (at +your option) any later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +// vim: set syntax=asciidoc: +// vim: set syntax=asciidoc: diff --git a/tcar-scripts-docs/Manpages/tcar_setModuleEnvironment.sh.asciidoc b/tcar-scripts-docs/Manpages/tcar_setModuleEnvironment.sh.asciidoc new file mode 100644 index 0000000..cc0ebef --- /dev/null +++ b/tcar-scripts-docs/Manpages/tcar_setModuleEnvironment.sh.asciidoc @@ -0,0 +1,99 @@ +tcar_setModuleEnvironment.sh(1) +=============================== + +Name +---- + +tcar_setModuleEnvironment.sh - Initiate module environments. + +Synopsis +-------- + +*tcar_setModuleEnvironment [-m "MODULE_NAME"] [-t "MODULE_TYPE"] [-g MODULE_ARGUMENT] ...* + +Description +----------- + +[[options]] +Options +------- + +The *tcar_setModuleEnvironment* function accepts the following +options: + +-m :: + This option specifies the name of the module you want to load. +-t:: + This option specifies the type of the module you want to load. + Modules can be one of the following types: ++ +top-module;; + This modules are stored in the first level of Modules directory. + This type of modules initiate module environments for specific + tasks so it can be called from anywhere inside *centos-art.sh* + script. +sub-module;; + This modules are stored from the second-level of Modules directory + on. This type of modules can be executed from top-modules, + sub-modules, or sib-modules but never the *centos-art.sh* file + itself. +sib-module;; + This modules are stored from the second-level of Modules directory + on. This type of modules can be executed from sub-modules or + sib-modules, but never top-modules or the *centos-art.sh* file + itself. +-g:: + This option specifies the module-specific option you want to pass + for processing in the module environment you are about to execute. + Generally, module-specific options are passed through + *centos-art.sh* command-line but you may need to pass them + internally in some cases (e.g., you are executing a top-module + from a sub-module). If you need to pass more than one option, then + you need to put the -g option before each option you want to pass. + +Bugs +---- + +In the very beginning of *tcar_setModuleEnvironment* function, it used +just non-array variables and it worked fine for top-module and sub-module +processing, however when it was needed to do sibling processing, it +didn't work as expected. The failure was produced because a wrong +variable assignment when tried to set the path of the next module to +load. There was not a clean way to ``remember'' what was the base +directory of the parent directory, so it ended up using the last +loaded module base directory which made impossible to load a sibling +module. The *tcar_setModuleEnvironment* function as implemented in +version 0.5 of The CentOS Artwork Repository, fixes this issue +replacing non-array variables by array variables which can remember +module information. + +See also: https://centos.org.cu/bugs/[https://centos.org.cu/bugs/] + +Author +------ + +The *centos-art.sh* script has received contribution from the +following people: + +* Alain Reguera Delgado , 2009-2013 + +Copyright +--------- + +Copyright (C) 2009-2013 The CentOS Artwork SIG + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or (at +your option) any later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +// vim: set syntax=asciidoc: diff --git a/tcar-scripts-docs/Manpages/tcar_setTranslationMarkers.sh.asciidoc b/tcar-scripts-docs/Manpages/tcar_setTranslationMarkers.sh.asciidoc new file mode 100644 index 0000000..3474df9 --- /dev/null +++ b/tcar-scripts-docs/Manpages/tcar_setTranslationMarkers.sh.asciidoc @@ -0,0 +1,199 @@ +tcar_setTranslationMarkers(1) +============================= + +== Name + +tcar_setTranslationMarkers - Expands translation markers. + +== Synopsis + +*tcar_setTranslationMarkers "FILE"* + +== Description + +The *cli_setTranslationMarkers* standardizes construction of +translation markers and their related expansion. As convention, +translation markers are set inside source files (e.g., DocBook, SVG) +and expanded inside temporal instances used to produce final contents. +The +FILE+ argument should point to the temporal file where +translation markers expansion takes place in. + +Translation markers written in source files must comply the +++=[A-Z_]+=++ regular expression pattern. For example, ++=UNKNOWN_MARKER=+ is a valid translation marker without any +replacement. To prevent *centos-art.sh* script from +expanding translation markers, add a backslash (+\+) between the first +equal sign and the following letter. For example, +=\...=+ won't be +expanded. + +The *cli_setTranslationMarkers* supports the following translation +markers: + ++=\COPYRIGHT_YEAR_LAST=+, +=\COPYRIGHT_YEAR=+:: + These translation markers expand to the last year used in + copyright notes. For example, +=COPYRIGHT_YEAR_LAST=+. + ++=\COPYRIGHT_YEAR_LIST=+, +=\COPYRIGHT_YEARS_LIST=+:: + This translation markers expand to the list of years used in + copyright notes. For example, +=COPYRIGHT_YEARS_LIST=+. The first + year represents the time we began to work on The CentOS Artwork + Repository. + ++=\COPYRIGHT_HOLDER=+:: + This translation marker expands to the holder used in copyright + notes. For example, +=COPYRIGHT_HOLDER=+. + ++=\COPYRIGHT_HOLDER_PREDICATE=+:: + This translation marker expands both the holder and the predicate + used in copyright notes. For example, + +=COPYRIGHT_HOLDER_PREDICATE=+. + ++=\BRAND=+:: + This translation marker expands to the brand name used on files + names and URLs inside The CentOS Artwork Repository. For example, + +=BRAND=+. + ++=\LICENSE=+:: + This translation marker expands to the license information used in + files created by *centos-art.sh* script. For + example, +=LICENSE=+. + ++=\LICENSE_URL=+:: + This translation marker expands to the license URL used in files + created by *centos-art.sh* script. For example, + +=LICENSE_URL=+. + ++=\THEME=+:: + This translation marker expands to the theme portion of path you + are producing through centos-art.sh script. As consequence, this + translation marker should be used in situations where you are + producing theme components only. This translation marker expands + its value by retrieving the theme part of the path you provide as + non-option argument to *centos-art.sh* script. + For example, if you provide the path + +Identity/Images/Themes/Modern/2/Distro/5+, + this translation will expand to the +Modern/2/+ value. ++ +In case you need to retrieve the theme name or version separately one +another, then you can use the +=\THEMENAME=+ and +=\THEMERELEASE=+ +translation markers, respectively. When you use these translation +markers, forward slashes are removed from result. So, if you provide +the path ++Identity/Images/Themes/Modern/2/Distro/5+, ++=\THEMENAME=+ will expand to +Modern+ and +=THEMERELEASE=+ will +expand to +2+. + ++=\RELEASE=+:: + This translation marker expands to the current release information + of your CentOS distribution. By default this information is + retrieved from +/etc/redhat-release+. In case + the option *--release* be passed, the value specified with it will + overwrite the default value and will be this the one used as + section for this translation marker to retrieve the release + information. So, for example, if you are running a CentOS-5.8 + distribution and no *--release* option is passed to + *centos-art.sh* script, this translation marker + expands to +5.8+. On the other hand, if you are still running a + CentOS-5.8 distribution but provide the *--release=6.3* option to + *centos-art.sh* script, this translation marker + expands to +6.3+ instead. ++ +In case you need to retrieve minor and major release numbers +separately one another, then you can use the +=\MINOR_RELEASE=+ and ++=\MAJOR_RELEASE=+ translation makers, respectively. + ++=\ARCH=+:: + This translation marker expands to the current architecture of + your CentOS Distribution. By default this information is retrieved + from *uname -i*. In case the option *--arch* be + passed, the value specified with it will overwrite the default + value and will be the one used as section. For example, if the + *uname -i* outputs the line + i386, this translation marker + will expand to +i386+. On the other hand, if you pass the + *--arch=x86_64* option to *centos-art.sh* script, + this translation marker will expand to +x86_64+ instead. + ++=\URL=+:: This translation marker expands to the URL which points to +The CentOS Project home page. For example, +=URL=+. In case you are +using the centos-art.sh script in a different locale but English +(+en_US.UTF-8+), this translation marker expands as usual but with the +language information appended to the end of the string. For example, +if you are executing the centos-art.shscript for Spanish locale (e.g., ++es_ES.UTF-8+), this translation marker expands to +=URL=es/+. ++ +In case you need to expand other URL related to The CentOS Project +domain, use translation markers described in +<>. Likewise =\URL=, translation +markers described in <> does append +the current language information to the end of the URL string based on +the locale information you are currently executing the *centos-art.sh* +script. + +[[url-related-translation-markers]] +.URL-related translation markers +-------------------`----------------- +Translation Marker Expands To +------------------------------------- +=\URL_WIKI= =URL_WIKI= +=\URL_LISTS= =URL_LISTS= +=\URL_FORUMS= =URL_FORUMS= +=\URL_MIRRORS= =URL_MIRRORS= +=\URL_DOCS= =URL_DOCS= +=\URL_PROJECTS= =URL_PROJECTS= +=\URL_SVN= =URL_SVN= +=\URL_TRAC= =URL_TRAC= +=\URL_PLANET= =URL_PLANET= +------------------------------------- + ++=\MAIL_DOCS=+:: + This translation marker expands to CentOS documentation mailing + list address. For example, +=MAIL_DOCS=+. + ++=\LOCALE=+:: + This translation marker expands to the current locale information + used by *centos-art.sh* script. This value is + retrieved from the LANG environment variable and + should look like +=LOCALE=+. In case you need to retrieve the + language and country part separately one another, you can use the + +=\LOCALE_LL=+ and +=\LOCALE_CC=+, respectively. + ++=\REPO_TLDIR=+:: + This translation marker expands to the absolute path to + directory inside your workstation. For + example, +/home/al/Projects/CentOS/artwork/trunk+. + ++=\REPO_HOME=+, +=\TCAR_WORKDIR=+:: + This translation marker expands to the absolute path of your + working copy. For example, +/home/al/Projects/CentOS/artwork+. + +== Bugs + +See https://centos.org.cu/bugs/ + +== Authors + +The *tcar_setTranslationMarkers* function has received contributions +from the following people: + +- Alain Reguera Delgado , =COPYRIGHT_YEAR_LIST= + +== License + +Copyright (C) =COPYRIGHT_YEAR_LIST= =COPYRIGHT_HOLDER= + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or (at +your option) any later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +// vim: set syntax=asciidoc: diff --git a/tcar-scripts-docs/Understanding_Modules/Locales/en_US/understanding_modules.asciidoc.po b/tcar-scripts-docs/Understanding_Modules/Locales/en_US/understanding_modules.asciidoc.po new file mode 100644 index 0000000..8e5cef6 --- /dev/null +++ b/tcar-scripts-docs/Understanding_Modules/Locales/en_US/understanding_modules.asciidoc.po @@ -0,0 +1,2127 @@ +msgid "" +msgstr "" +"Project-Id-Version: understanding_modules.asciidoc 0.6\n" +"POT-Creation-Date: 2013-11-07 14:18-0500\n" +"PO-Revision-Date: 2013-11-07 14:18-0500\n" +"Last-Translator: Localization SIG \n" +"Language-Team: English\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Understanding Modules" +msgstr "Understanding Modules" + +msgid "Oct 2013" +msgstr "Oct 2013" + +msgid "Alain" +msgstr "Alain" + +msgid "Reguera" +msgstr "Reguera" + +msgid "Delgado" +msgstr "Delgado" + +msgid "al@centos.org.cu" +msgstr "al@centos.org.cu" + +msgid "ARD" +msgstr "ARD" + +msgid "0.1" +msgstr "0.1" + +msgid "Overview" +msgstr "Overview" + +msgid "" +"From version 0.5, the centos-art.sh script introduces the idea of modules to its base design. " +"Modules are a collection of functions written in Bash that can call " +"one another to create individual execution environments. They may " +"be nested to achieve high levels of maintainability and " +"extensibility. This make possible for modules writers to divide " +"complicated tasks into smaller tasks that can be easier to debug, " +"maintain and share with other modules efficiently (e.g., instead of " +"loading modules all at once, they are only loaded at demand and " +"unset once they conclude their execution)." +msgstr "" +"From version 0.5, the centos-art.sh script introduces the idea of modules to its base design. " +"Modules are a collection of functions written in Bash that can call " +"one another to create individual execution environments. They may " +"be nested to achieve high levels of maintainability and " +"extensibility. This make possible for modules writers to divide " +"complicated tasks into smaller tasks that can be easier to debug, " +"maintain and share with other modules efficiently (e.g., instead of " +"loading modules all at once, they are only loaded at demand and " +"unset once they conclude their execution)." + +msgid "" +"This article describes the modular design of centos-art.sh script. It is a good place for you to " +"start if you are planning to contribute new module environments to " +"centos-art.sh script or want " +"to know more about how it works. The next section delves into what " +"a module environment is, the three module types you can find in it " +"and the correct way of execute each one of them." +msgstr "" +"This article describes the modular design of centos-art.sh script. It is a good place for you to " +"start if you are planning to contribute new module environments to " +"centos-art.sh script or want " +"to know more about how it works. The next section delves into what " +"a module environment is, the three module types you can find in it " +"and the correct way of execute each one of them." + +msgid "Module Environment" +msgstr "Module Environment" + +msgid "" +"When you execute the centos-art.sh script you create an execution environment in which " +"variables and functions are defined. The execution environment is " +"the higher environment inside centos-art." +"sh script. It is considered to have a “global” scope, so " +"variables and functions defined in it are always available for any " +"function execution made from it. You can control the execution " +"environment of centos-art.sh " +"script through files centos-art.sh and " +"centos-art.conf.sh. These files don't provide " +"too much functionality so module environments are executed from " +"centos-art.sh, to extend its functionality." +msgstr "" +"When you execute the centos-art.sh script you create an execution environment in which " +"variables and functions are defined. The execution environment is " +"the higher environment inside centos-art." +"sh script. It is considered to have a “global” scope, so " +"variables and functions defined in it are always available for any " +"function execution made from it. You can control the execution " +"environment of centos-art.sh " +"script through files centos-art.sh and " +"centos-art.conf.sh. These files don't provide " +"too much functionality so module environments are executed from " +"centos-art.sh, to extend its functionality." + +msgid "" +"Module environments are made of small functions that perform small " +"tasks and can be further executed in a specific order to produce " +"the desired result. Module environments are executed and destroyed " +"at demand. Inside centos-art.sh, module environments can be either “parent modules,” " +"“child modules,” or “sibling modules.”" +msgstr "" +"Module environments are made of small functions that perform small " +"tasks and can be further executed in a specific order to produce " +"the desired result. Module environments are executed and destroyed " +"at demand. Inside centos-art.sh, module environments can be either “parent modules,” " +"“child modules,” or “sibling modules.”" + +msgid "Parent Modules" +msgstr "Parent Modules" + +msgid "" +"Parent modules are initiated by executing the tcar_setModuleEnvironment function with the " +"-t parent option set on it. " +"Parent modules are very simple in design and you can use them to " +"implement simple solutions quickly. Normally, when you execute a " +"parent module, you initiate the highest module environment possible " +"inside centos-art.sh script. " +"Because of such high scope, parent modules are frequently used to " +"define module's global variables, interpret module-specific options " +"passed through the command-line and execute the appropriate actions " +"based on them." +msgstr "" +"Parent modules are initiated by executing the tcar_setModuleEnvironment function with the " +"-t parent option set on it. " +"Parent modules are very simple in design and you can use them to " +"implement simple solutions quickly. Normally, when you execute a " +"parent module, you initiate the highest module environment possible " +"inside centos-art.sh script. " +"Because of such high scope, parent modules are frequently used to " +"define module's global variables, interpret module-specific options " +"passed through the command-line and execute the appropriate actions " +"based on them." + +msgid "" +"In , we have executed the " +"hello module with the " +"—greeting=hi and —debug options through the command-line. " +"In this example, centos-art.sh " +"script executes a parent module named hello, processes the module-specific options passed " +"through the command-line, prints a greeting message to standard " +"output and exits successfully." +msgstr "" +"In , we have executed the " +"hello module with the " +"—greeting=hi and —debug options through the command-line. " +"In this example, centos-art.sh " +"script executes a parent module named hello, processes the module-specific options passed " +"through the command-line, prints a greeting message to standard " +"output and exits successfully." + +msgid "Debugging execution of parent modules" +msgstr "Debugging execution of parent modules" + +#, no-wrap +msgid "" +"Thu 10 Oct 2013 11:53:28 PM CDT =========================> [0] | main\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_BASEDIR Automation/Modules\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_NAME [0]=hello\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_TYPE parent\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_ARGUMENT --greeting=hi\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_LIST hello|help|locale|prepare|render|tuneup|vcs\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Manuals\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Locales\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Configs\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/hello.sh\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TEXTDOMAIN hello.sh\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Locales\n" +"Thu 10 Oct 2013 11:53:28 PM CDT export -f hello\n" +"Thu 10 Oct 2013 11:53:28 PM CDT export -f hello_getOptions\n" +"Thu 10 Oct 2013 11:53:28 PM CDT -------------------------> hello --greeting=hi\n" +"hi\n" +"Thu 10 Oct 2013 11:53:28 PM CDT <------------------------- hello\n" +"Thu 10 Oct 2013 11:53:28 PM CDT unset -f hello\n" +"Thu 10 Oct 2013 11:53:28 PM CDT unset -f hello_getOptions\n" +"Thu 10 Oct 2013 11:53:28 PM CDT <========================= [0] | main" +msgstr "" +"Thu 10 Oct 2013 11:53:28 PM CDT =========================> [0] | main\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_BASEDIR Automation/Modules\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_NAME [0]=hello\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_TYPE parent\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_ARGUMENT --greeting=hi\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_LIST hello|help|locale|prepare|render|tuneup|vcs\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Manuals\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Locales\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Configs\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/hello.sh\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TEXTDOMAIN hello.sh\n" +"Thu 10 Oct 2013 11:53:28 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Locales\n" +"Thu 10 Oct 2013 11:53:28 PM CDT export -f hello\n" +"Thu 10 Oct 2013 11:53:28 PM CDT export -f hello_getOptions\n" +"Thu 10 Oct 2013 11:53:28 PM CDT -------------------------> hello --greeting=hi\n" +"hi\n" +"Thu 10 Oct 2013 11:53:28 PM CDT <------------------------- hello\n" +"Thu 10 Oct 2013 11:53:28 PM CDT unset -f hello\n" +"Thu 10 Oct 2013 11:53:28 PM CDT unset -f hello_getOptions\n" +"Thu 10 Oct 2013 11:53:28 PM CDT <========================= [0] | main" + +msgid "" +" describes an entire module " +"environment in action. With this information you can create your " +"own module environment, already. However, when your module is " +"getting too much complicated you probably want to divide it in " +"smaller pieces that you can execute accordingly, based on the " +"purpose you defined for it. Such kind of division can be " +"implemented as described in ." +msgstr "" +" describes an entire module " +"environment in action. With this information you can create your " +"own module environment, already. However, when your module is " +"getting too much complicated you probably want to divide it in " +"smaller pieces that you can execute accordingly, based on the " +"purpose you defined for it. Such kind of division can be " +"implemented as described in ." + +msgid "Summary" +msgstr "Summary" + +msgid "" +"This section has covered basic concepts related to module " +"environment inside centos-art.sh script. The next section takes these concepts and focuses " +"on the implementation of them. Once you finish it, you should be " +"able of writing your own module environments from scratch inside " +"centos-art.sh script." +msgstr "" +"This section has covered basic concepts related to module " +"environment inside centos-art.sh script. The next section takes these concepts and focuses " +"on the implementation of them. Once you finish it, you should be " +"able of writing your own module environments from scratch inside " +"centos-art.sh script." + +msgid "Module Implementation" +msgstr "Module Implementation" + +msgid "" +"The centos-art.sh script " +"implements module environments inside the “Modules” directory, as described in ." +msgstr "" +"The centos-art.sh script " +"implements module environments inside the “Modules” directory, as described in ." + +msgid "" +"For example, consider the creation of a module named hello. The purpose of this module is to print " +"a greeting message to standard output and then exit successfully. " +"To create such a module, we need to create a directory named " +"“Hello” inside the “Modules” directory and put an initialization " +"file named “hello.sh” inside it. Because we want to execute the " +"hello module from centos-art.sh script command-line, we " +"put it in the first level of directories of Modules directory. See ." +msgstr "" +"For example, consider the creation of a module named hello. The purpose of this module is to print " +"a greeting message to standard output and then exit successfully. " +"To create such a module, we need to create a directory named " +"“Hello” inside the “Modules” directory and put an initialization " +"file named “hello.sh” inside it. Because we want to execute the " +"hello module from centos-art.sh script command-line, we " +"put it in the first level of directories of Modules directory. See ." + +msgid "Directory layout used by parent modules" +msgstr "Directory layout used by parent modules" + +#, no-wrap +msgid "" +".\n" +"|-- COPYING \n" +"|-- Locales/ \n" +"|-- Manuals/ \n" +"|-- Modules/ \n" +"| `-- Hello/ \n" +"| |-- hello.sh \n" +"| `-- hello_getOptions.sh \n" +"|-- Scripts/ \n" +"|-- centos-art.conf.sh \n" +"`-- centos-art.sh " +msgstr "" +".\n" +"|-- COPYING \n" +"|-- Locales/ \n" +"|-- Manuals/ \n" +"|-- Modules/ \n" +"| `-- Hello/ \n" +"| |-- hello.sh \n" +"| `-- hello_getOptions.sh \n" +"|-- Scripts/ \n" +"|-- centos-art.conf.sh \n" +"`-- centos-art.sh " + +msgid "Script's copying conditions." +msgstr "Script's copying conditions." + +msgid "Script's localization files." +msgstr "Script's localization files." + +msgid "Script's documentation files." +msgstr "Script's documentation files." + +msgid "Script's modules. Here is where you store parent modules." +msgstr "Script's modules. Here is where you store parent modules." + +msgid "Parent directory of module named hello." +msgstr "Parent directory of module named hello." + +msgid "Initialization file of module named hello." +msgstr "Initialization file of module named hello." + +msgid "Function related to module named hello." +msgstr "Function related to module named hello." + +msgid "Script's global functions." +msgstr "Script's global functions." + +msgid "Script's configuration file." +msgstr "Script's configuration file." + +msgid "Script's initialization file." +msgstr "Script's initialization file." + +msgid "" +" presents a complete module " +"layout you can use as reference to create your own module " +"implementations. However, it is not complete yet. At this point, " +"when you execute centos-art.sh, it is able to find out hello module's initialization file and execute it but that " +"prints an error message because the initialization file doesn't " +"have a function definition inside. It is completely empty. In order " +"for centos-art.sh script to do " +"something useful, you need to write a function definition inside " +"the initialization file, as described in ." +msgstr "" +" presents a complete module " +"layout you can use as reference to create your own module " +"implementations. However, it is not complete yet. At this point, " +"when you execute centos-art.sh, it is able to find out hello module's initialization file and execute it but that " +"prints an error message because the initialization file doesn't " +"have a function definition inside. It is completely empty. In order " +"for centos-art.sh script to do " +"something useful, you need to write a function definition inside " +"the initialization file, as described in ." + +msgid "The Initialization File" +msgstr "The Initialization File" + +msgid "" +"The module's initialization file contains the module's main " +"function definition and a comment describing what it does on top of " +"it. This comment includes a small description about what the " +"function does, a written by section, the copyright note and the " +"legal status of the file. The function definition is set later and " +"must be written using the long definition format (i.e., it must " +"begin with the word “function,” then the " +"function name, and finally the “{” character). " +"The name of the function is exactly the same of the initialization " +"file but without the .sh extension. These " +"conditions are required in order for centos-art.sh script to execute the function " +"definition and destroy it when it is no longer used. See ." +msgstr "" +"The module's initialization file contains the module's main " +"function definition and a comment describing what it does on top of " +"it. This comment includes a small description about what the " +"function does, a written by section, the copyright note and the " +"legal status of the file. The function definition is set later and " +"must be written using the long definition format (i.e., it must " +"begin with the word “function,” then the " +"function name, and finally the “{” character). " +"The name of the function is exactly the same of the initialization " +"file but without the .sh extension. These " +"conditions are required in order for centos-art.sh script to execute the function " +"definition and destroy it when it is no longer used. See ." + +msgid "" +"The function definition is where you write all the commands you " +"want the module runs, once executed. The function definition can be " +"as simple as just one single line of code or as complex as you can " +"imagine. It is the place where you express your solutions. However, " +"when writing initialization files, it is considered a good practice " +"to avoid any sort of complexity. Instead, try to write small and " +"simple initialization files. In case you notice the initialization " +"file is growing up inevitably, you can reduce its code by " +"refactoring it. To do this, you can use resources like module " +"related functions and child modules. These resources are described " +"in , and they help you to " +"keep the initialization file in a clean state, easy to understand, " +"maintain and debug." +msgstr "" +"The function definition is where you write all the commands you " +"want the module runs, once executed. The function definition can be " +"as simple as just one single line of code or as complex as you can " +"imagine. It is the place where you express your solutions. However, " +"when writing initialization files, it is considered a good practice " +"to avoid any sort of complexity. Instead, try to write small and " +"simple initialization files. In case you notice the initialization " +"file is growing up inevitably, you can reduce its code by " +"refactoring it. To do this, you can use resources like module " +"related functions and child modules. These resources are described " +"in , and they help you to " +"keep the initialization file in a clean state, easy to understand, " +"maintain and debug." + +msgid "Initialization file used by hello module" +msgstr "Initialization file used by hello module" + +#, no-wrap +msgid "" +"#!/bin/bash\n" +"######################################################################\n" +"#\n" +"# hello.sh -- Print out greetings to standard output and exit\n" +"# successfully.\n" +"#\n" +"# Written by:\n" +"# * Alain Reguera Delgado <al@centos.org.cu>, 2013\n" +"#\n" +"# Copyright (C) 2009-2013 The CentOS Artwork SIG\n" +"#\n" +"# This program is free software; you can redistribute it and/or modify\n" +"# it under the terms of the GNU General Public License as published by\n" +"# the Free Software Foundation; either version 2 of the License, or (at\n" +"# your option) any later version.\n" +"#\n" +"# This program is distributed in the hope that it will be useful, but\n" +"# WITHOUT ANY WARRANTY; without even the implied warranty of\n" +"# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n" +"# General Public License for more details.\n" +"#\n" +"# You should have received a copy of the GNU General Public License\n" +"# along with this program; if not, write to the Free Software\n" +"# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\n" +"#\n" +"######################################################################\n" +"\n" +"function hello {\n" +"\n" +" tcar_printMessage \"`gettext \"Hello, World!\"`\" --as-stdout-line\n" +"\n" +"}" +msgstr "" +"#!/bin/bash\n" +"######################################################################\n" +"#\n" +"# hello.sh -- Print out greetings to standard output and exit\n" +"# successfully.\n" +"#\n" +"# Written by:\n" +"# * Alain Reguera Delgado <al@centos.org.cu>, 2013\n" +"#\n" +"# Copyright (C) 2009-2013 The CentOS Artwork SIG\n" +"#\n" +"# This program is free software; you can redistribute it and/or modify\n" +"# it under the terms of the GNU General Public License as published by\n" +"# the Free Software Foundation; either version 2 of the License, or (at\n" +"# your option) any later version.\n" +"#\n" +"# This program is distributed in the hope that it will be useful, but\n" +"# WITHOUT ANY WARRANTY; without even the implied warranty of\n" +"# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n" +"# General Public License for more details.\n" +"#\n" +"# You should have received a copy of the GNU General Public License\n" +"# along with this program; if not, write to the Free Software\n" +"# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\n" +"#\n" +"######################################################################\n" +"\n" +"function hello {\n" +"\n" +" tcar_printMessage \"`gettext \"Hello, World!\"`\" --as-stdout-line\n" +"\n" +"}" + +msgid "" +"The function definition described in uses the tcar_printMessage global function to print localized versions of the string " +"“Hello, World!” to standard output. Because there isn't no other " +"command in the function definition, when the greeting message is " +"printed out, centos-art.sh " +"destroys the hello module and " +"exit successfully. This process is more visible when also pass the " +"—debug option. See ." +msgstr "" +"The function definition described in uses the tcar_printMessage global function to print localized versions of the string " +"“Hello, World!” to standard output. Because there isn't no other " +"command in the function definition, when the greeting message is " +"printed out, centos-art.sh " +"destroys the hello module and " +"exit successfully. This process is more visible when also pass the " +"—debug option. See ." + +msgid "" +"Congratulations! You've implemented a module environment inside " +"centos-art.sh script. With the " +"information you have so far, you are able to create your own module " +"environment implementations. The next section delves into available " +"resources you can use to simplify module environments when the " +"initialization file starts growing inevitably and complexity " +"daemons begin hammering your head." +msgstr "" +"Congratulations! You've implemented a module environment inside " +"centos-art.sh script. With the " +"information you have so far, you are able to create your own module " +"environment implementations. The next section delves into available " +"resources you can use to simplify module environments when the " +"initialization file starts growing inevitably and complexity " +"daemons begin hammering your head." + +msgid "Module Optimization" +msgstr "Module Optimization" + +msgid "" +"The centos-art.sh script " +"provides four resources you can use to optimize your module " +"implementations. These resources are “related functions,” “child " +"modules,” “sibling modules” and “recursive modules”." +msgstr "" +"The centos-art.sh script " +"provides four resources you can use to optimize your module " +"implementations. These resources are “related functions,” “child " +"modules,” “sibling modules” and “recursive modules”." + +msgid "Related Functions" +msgstr "Related Functions" + +msgid "" +"Related functions are very useful when you need to simplify the " +"function definition of one initialization file. For example, " +"consider extending the hello " +"module so it is able to interpret arguments passed through the " +"command-line. Now, inside the initialization file, we have some " +"variable definitions, one function call to a module related " +"function named hello_getOptions, and a decision on how the greeting message must be " +"printed out based on the collected actions. See ." +msgstr "" +"Related functions are very useful when you need to simplify the " +"function definition of one initialization file. For example, " +"consider extending the hello " +"module so it is able to interpret arguments passed through the " +"command-line. Now, inside the initialization file, we have some " +"variable definitions, one function call to a module related " +"function named hello_getOptions, and a decision on how the greeting message must be " +"printed out based on the collected actions. See ." + +msgid "Initialization file used by hello module (extended)" +msgstr "Initialization file used by hello module (extended)" + +#, no-wrap +msgid "" +"function hello {\n" +"\n" +" # Define default greeting message.\n" +" local HELLO_WORLD=\"`gettext \"Hello, World!\"`\"\n" +"\n" +" # Define actions variable. Here is where actions related to\n" +" # module-specific options are stored in for further processing.\n" +" local ACTIONS=''\n" +"\n" +" # Interpret module-specific options and store related actions.\n" +" hello_getOptions\n" +"\n" +" # Print greeting message\n" +" if [[ -z ${ACTIONS} ]];then\n" +" # Using parent module.\n" +" tcar_printMessage \"${HELLO_WORLD}\" --as-stdout-line\n" +" else\n" +" # Using child module.\n" +" tcar_setModuleEnvironment -m 'output' -t 'child'\n" +" fi\n" +"\n" +"}" +msgstr "" +"function hello {\n" +"\n" +" # Define default greeting message.\n" +" local HELLO_WORLD=\"`gettext \"Hello, World!\"`\"\n" +"\n" +" # Define actions variable. Here is where actions related to\n" +" # module-specific options are stored in for further processing.\n" +" local ACTIONS=''\n" +"\n" +" # Interpret module-specific options and store related actions.\n" +" hello_getOptions\n" +"\n" +" # Print greeting message\n" +" if [[ -z ${ACTIONS} ]];then\n" +" # Using parent module.\n" +" tcar_printMessage \"${HELLO_WORLD}\" --as-stdout-line\n" +" else\n" +" # Using child module.\n" +" tcar_setModuleEnvironment -m 'output' -t 'child'\n" +" fi\n" +"\n" +"}" + +msgid "" +"When you execute the command centos-art." +"sh hello with the —" +"greeting=hi argument, centos-" +"art.sh stores module-specific arguments inside the " +"TCAR_MODULE_ARGUMENT variable, creates a list of " +"all function definitions inside the module directory and exports " +"them. This includes the function definition of the initialization " +"file itself. Then centos-art.sh executes the function definition set inside the " +"initialization file and leaves all other function definitions, " +"already in memory, waiting for further execution. At this point, " +"the hello initialization " +"function sets some default values and execute the hello_getOptions function to parse all the " +"arguments passed through the command-line and redefines the " +"ACTIONS variable based on them. Using the " +"ACTIONS variables it decides whether to print " +"the greeting message immediately or execute the child modules named " +"output so it decides what to " +"do with the information collected so far." +msgstr "" +"When you execute the command centos-art." +"sh hello with the —" +"greeting=hi argument, centos-" +"art.sh stores module-specific arguments inside the " +"TCAR_MODULE_ARGUMENT variable, creates a list of " +"all function definitions inside the module directory and exports " +"them. This includes the function definition of the initialization " +"file itself. Then centos-art.sh executes the function definition set inside the " +"initialization file and leaves all other function definitions, " +"already in memory, waiting for further execution. At this point, " +"the hello initialization " +"function sets some default values and execute the hello_getOptions function to parse all the " +"arguments passed through the command-line and redefines the " +"ACTIONS variable based on them. Using the " +"ACTIONS variables it decides whether to print " +"the greeting message immediately or execute the child modules named " +"output so it decides what to " +"do with the information collected so far." + +msgid "" +" defines the options " +"you can pass to hello module " +"and the associated actions they must perform for each of them. " +"Actions aren't immediately executed here. Instead, they are stored " +"in the ACTIONS variable for further processing " +"(e.g., we store the names of the modules we want to execute later). " +"The ACTIONS variable was defined in the " +"initialization file so it has a global scope inside the module " +"environment and is reachable from any related function executed " +"inside it. Storing the actions this way lets the hello module to collect information about " +"different actions and execute them all in just one command. When " +"all options have been parsed, only non-option arguments remain in " +"the TCAR_MODULE_ARGUMENT variable." +msgstr "" +" defines the options " +"you can pass to hello module " +"and the associated actions they must perform for each of them. " +"Actions aren't immediately executed here. Instead, they are stored " +"in the ACTIONS variable for further processing " +"(e.g., we store the names of the modules we want to execute later). " +"The ACTIONS variable was defined in the " +"initialization file so it has a global scope inside the module " +"environment and is reachable from any related function executed " +"inside it. Storing the actions this way lets the hello module to collect information about " +"different actions and execute them all in just one command. When " +"all options have been parsed, only non-option arguments remain in " +"the TCAR_MODULE_ARGUMENT variable." + +msgid "Related function definition (hello_getOptions)" +msgstr "Related function definition (hello_getOptions)" + +#, no-wrap +msgid "" +"function hello_getOptions {\n" +"\n" +" # Define short options we want to support.\n" +" local ARGSS=\"h::,v,g:,l,u,c,r\"\n" +"\n" +" # Define long options we want to support.\n" +" local ARGSL=\"help::,version,greeting:,lower,upper,camel,random\"\n" +"\n" +" # Redefine arguments using getopt(1) command parser.\n" +" tcar_setModuleArguments\n" +"\n" +" # Reset positional parameters on this function, using output\n" +" # produced from (getopt) arguments parser.\n" +" eval set -- \"${TCAR_MODULE_ARGUMENT}\"\n" +"\n" +" # Look for options passed through command-line.\n" +" while true; do\n" +" case \"${1}\" in\n" +"\n" +" -h | --help )\n" +" tcar_printHelp \"${2}\"\n" +" ;;\n" +"\n" +" -v | --version )\n" +" tcar_printVersion \"${TCAR_MODULE_NAME}\"\n" +" ;;\n" +"\n" +" -g | --greeting )\n" +" HELLO_WORLD=\"${2:-${HELLO_WORLD}}\"\n" +" shift 2\n" +" ;;\n" +"\n" +" -l | --lower )\n" +" ACTIONS=\"lower ${ACTIONS}\"\n" +" shift 1\n" +" ;;\n" +"\n" +" -u | --upper )\n" +" ACTIONS=\"upper ${ACTIONS}\"\n" +" shift 1\n" +" ;;\n" +"\n" +" -c | --camel )\n" +" ACTIONS=\"camel ${ACTIONS}\"\n" +" shift 1\n" +" ;;\n" +"\n" +" -r | --random )\n" +" ACTIONS=\"random ${ACTIONS}\"\n" +" shift 1\n" +" ;;\n" +"\n" +" -- )\n" +" shift 1\n" +" break\n" +" ;;\n" +" esac\n" +" done\n" +"\n" +" # Redefine arguments using current positional parameters. Only\n" +" # paths should remain as arguments, at this point.\n" +" TCAR_MODULE_ARGUMENT=\"${@}\"\n" +"\n" +"}" +msgstr "" +"function hello_getOptions {\n" +"\n" +" # Define short options we want to support.\n" +" local ARGSS=\"h::,v,g:,l,u,c,r\"\n" +"\n" +" # Define long options we want to support.\n" +" local ARGSL=\"help::,version,greeting:,lower,upper,camel,random\"\n" +"\n" +" # Redefine arguments using getopt(1) command parser.\n" +" tcar_setModuleArguments\n" +"\n" +" # Reset positional parameters on this function, using output\n" +" # produced from (getopt) arguments parser.\n" +" eval set -- \"${TCAR_MODULE_ARGUMENT}\"\n" +"\n" +" # Look for options passed through command-line.\n" +" while true; do\n" +" case \"${1}\" in\n" +"\n" +" -h | --help )\n" +" tcar_printHelp \"${2}\"\n" +" ;;\n" +"\n" +" -v | --version )\n" +" tcar_printVersion \"${TCAR_MODULE_NAME}\"\n" +" ;;\n" +"\n" +" -g | --greeting )\n" +" HELLO_WORLD=\"${2:-${HELLO_WORLD}}\"\n" +" shift 2\n" +" ;;\n" +"\n" +" -l | --lower )\n" +" ACTIONS=\"lower ${ACTIONS}\"\n" +" shift 1\n" +" ;;\n" +"\n" +" -u | --upper )\n" +" ACTIONS=\"upper ${ACTIONS}\"\n" +" shift 1\n" +" ;;\n" +"\n" +" -c | --camel )\n" +" ACTIONS=\"camel ${ACTIONS}\"\n" +" shift 1\n" +" ;;\n" +"\n" +" -r | --random )\n" +" ACTIONS=\"random ${ACTIONS}\"\n" +" shift 1\n" +" ;;\n" +"\n" +" -- )\n" +" shift 1\n" +" break\n" +" ;;\n" +" esac\n" +" done\n" +"\n" +" # Redefine arguments using current positional parameters. Only\n" +" # paths should remain as arguments, at this point.\n" +" TCAR_MODULE_ARGUMENT=\"${@}\"\n" +"\n" +"}" + +msgid "" +" presents the " +"standard construction we use inside centos-art.sh script for parsing arguments passed " +"through the command-line in a per-module basis. As convention, all " +"the parent modules you write must be able to interpret the " +"—help and —version options using the construction " +"described here." +msgstr "" +" presents the " +"standard construction we use inside centos-art.sh script for parsing arguments passed " +"through the command-line in a per-module basis. As convention, all " +"the parent modules you write must be able to interpret the " +"—help and —version options using the construction " +"described here." + +msgid "" +"Related functions are very useful when you are refactoring the " +"initialization file of a module. However, they aren't so efficient " +"when you need to execute them at demand (e.g., based on specific " +"conditions). When a module is executed, related functions are " +"exported to centos-art.sh " +"script execution environment. They remain there, consuming memory, " +"until the module they belong to is destroyed. If you create a " +"related function and never execute it, it will consume memory, as " +"well. So, use related functions when you are absolutely sure they " +"will be executed at some point, in one single iteration of " +"centos-art.sh script. If you " +"need to execute functions at demand, use child modules, instead." +msgstr "" +"Related functions are very useful when you are refactoring the " +"initialization file of a module. However, they aren't so efficient " +"when you need to execute them at demand (e.g., based on specific " +"conditions). When a module is executed, related functions are " +"exported to centos-art.sh " +"script execution environment. They remain there, consuming memory, " +"until the module they belong to is destroyed. If you create a " +"related function and never execute it, it will consume memory, as " +"well. So, use related functions when you are absolutely sure they " +"will be executed at some point, in one single iteration of " +"centos-art.sh script. If you " +"need to execute functions at demand, use child modules, instead." + +msgid "Child Modules" +msgstr "Child Modules" + +msgid "" +"Child modules are initiated by executing the tcar_setModuleEnvironment function with the -t child option set on it. Child modules " +"have the characteristic of being nested modules. They cannot be " +"executed from the command-line. Normally, child modules are " +"executed from parent modules but they can be executed from other " +"child modules, too. When several child modules are executed in one " +"single iteration of centos-art.sh, they create a chain of modules. A chain of modules is " +"very useful in situations where you want to divide one large task " +"into smaller tasks and also control which of these smaller tasks is " +"executed based on specific conditions (e.g., you may want to render " +"images or documentation, but not both, in one single iteration of " +"centos-art.sh script). In a " +"chain of modules, lower modules in the chain (those started last) " +"have access to information set by modules higher in the chain " +"(those started first), but not the opposite. When processing " +"information this way, modules aren't destroyed until the last " +"module executed in the chain has finished its work (e.g., all the " +"commands inside it have been executed). At that point, child " +"modules are destroyed in the reverse order they were executed." +msgstr "" +"Child modules are initiated by executing the tcar_setModuleEnvironment function with the -t child option set on it. Child modules " +"have the characteristic of being nested modules. They cannot be " +"executed from the command-line. Normally, child modules are " +"executed from parent modules but they can be executed from other " +"child modules, too. When several child modules are executed in one " +"single iteration of centos-art.sh, they create a chain of modules. A chain of modules is " +"very useful in situations where you want to divide one large task " +"into smaller tasks and also control which of these smaller tasks is " +"executed based on specific conditions (e.g., you may want to render " +"images or documentation, but not both, in one single iteration of " +"centos-art.sh script). In a " +"chain of modules, lower modules in the chain (those started last) " +"have access to information set by modules higher in the chain " +"(those started first), but not the opposite. When processing " +"information this way, modules aren't destroyed until the last " +"module executed in the chain has finished its work (e.g., all the " +"commands inside it have been executed). At that point, child " +"modules are destroyed in the reverse order they were executed." + +msgid "" +"For example, when you execute the hello module with both —debug and —upper option, " +"centos-art.sh script creates a " +"chain of three modules to produce the greeting message. Firstly, it " +"begins by executing the parent module named hello, then it continues with the child module named " +"output which in turn executes " +"the child module name lower to " +"finally print the expected greeting message. In this example, the " +"module named lower is the last " +"module in the chain of executed modules. It has access to all " +"information defined by earlier modules (e.g., in hello and output modules) and none of its earlier modules will be " +"destroyed until it has finished its work. This process becomes more " +"visible when you take a look at ." +msgstr "" +"For example, when you execute the hello module with both —debug and —upper option, " +"centos-art.sh script creates a " +"chain of three modules to produce the greeting message. Firstly, it " +"begins by executing the parent module named hello, then it continues with the child module named " +"output which in turn executes " +"the child module name lower to " +"finally print the expected greeting message. In this example, the " +"module named lower is the last " +"module in the chain of executed modules. It has access to all " +"information defined by earlier modules (e.g., in hello and output modules) and none of its earlier modules will be " +"destroyed until it has finished its work. This process becomes more " +"visible when you take a look at ." + +msgid "Debugging execution of child modules" +msgstr "Debugging execution of child modules" + +#, no-wrap +msgid "" +"Thu 10 Oct 2013 11:52:41 PM CDT =========================> [0] | main\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_BASEDIR Automation/Modules\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_NAME [0]=hello\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_TYPE parent\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_ARGUMENT --upper --greeting=hi\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_LIST hello|help|locale|prepare|render|tuneup|vcs\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Manuals\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Locales\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Configs\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/hello.sh\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TEXTDOMAIN hello.sh\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Locales\n" +"Thu 10 Oct 2013 11:52:41 PM CDT export -f hello\n" +"Thu 10 Oct 2013 11:52:41 PM CDT export -f hello_getOptions\n" +"Thu 10 Oct 2013 11:52:41 PM CDT -------------------------> hello --upper --greeting=hi\n" +"Thu 10 Oct 2013 11:52:41 PM CDT =========================> [1] | hello\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_NAME [1]=output\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_TYPE child\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_ARGUMENT\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_LIST output\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Manuals\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Locales\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Configs\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/output.sh\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TEXTDOMAIN output.sh\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Locales\n" +"Thu 10 Oct 2013 11:52:41 PM CDT export -f output\n" +"Thu 10 Oct 2013 11:52:41 PM CDT -------------------------> output\n" +"Thu 10 Oct 2013 11:52:41 PM CDT =========================> [2] | output\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules/Output/Modules\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_NAME [2]=upper\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_TYPE child\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_ARGUMENT\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_LIST camel|lower|random|upper\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output/Modules/Upper\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules/Upper/Modules\n" +"Thu 10 Oct 2013 11:52:42 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Modules/Upper/Manuals\n" +"Thu 10 Oct 2013 11:52:42 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Modules/Upper/Locales\n" +"Thu 10 Oct 2013 11:52:42 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Modules/Upper/Configs\n" +"Thu 10 Oct 2013 11:52:42 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/Modules/Upper/upper.sh\n" +"Thu 10 Oct 2013 11:52:42 PM CDT TEXTDOMAIN upper.sh\n" +"Thu 10 Oct 2013 11:52:42 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Modules/Upper/Locales\n" +"Thu 10 Oct 2013 11:52:42 PM CDT export -f upper\n" +"Thu 10 Oct 2013 11:52:42 PM CDT -------------------------> upper\n" +"HI\n" +"Thu 10 Oct 2013 11:52:42 PM CDT <------------------------- upper\n" +"Thu 10 Oct 2013 11:52:42 PM CDT unset -f upper\n" +"Thu 10 Oct 2013 11:52:42 PM CDT <========================= [2] | output\n" +"Thu 10 Oct 2013 11:52:42 PM CDT <------------------------- output\n" +"Thu 10 Oct 2013 11:52:42 PM CDT unset -f output\n" +"Thu 10 Oct 2013 11:52:42 PM CDT <========================= [1] | hello\n" +"Thu 10 Oct 2013 11:52:42 PM CDT <------------------------- hello\n" +"Thu 10 Oct 2013 11:52:42 PM CDT unset -f hello\n" +"Thu 10 Oct 2013 11:52:42 PM CDT unset -f hello_getOptions\n" +"Thu 10 Oct 2013 11:52:42 PM CDT <========================= [0] | main" +msgstr "" +"Thu 10 Oct 2013 11:52:41 PM CDT =========================> [0] | main\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_BASEDIR Automation/Modules\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_NAME [0]=hello\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_TYPE parent\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_ARGUMENT --upper --greeting=hi\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_LIST hello|help|locale|prepare|render|tuneup|vcs\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Manuals\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Locales\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Configs\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/hello.sh\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TEXTDOMAIN hello.sh\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Locales\n" +"Thu 10 Oct 2013 11:52:41 PM CDT export -f hello\n" +"Thu 10 Oct 2013 11:52:41 PM CDT export -f hello_getOptions\n" +"Thu 10 Oct 2013 11:52:41 PM CDT -------------------------> hello --upper --greeting=hi\n" +"Thu 10 Oct 2013 11:52:41 PM CDT =========================> [1] | hello\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_NAME [1]=output\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_TYPE child\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_ARGUMENT\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_LIST output\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Manuals\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Locales\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Configs\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/output.sh\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TEXTDOMAIN output.sh\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Locales\n" +"Thu 10 Oct 2013 11:52:41 PM CDT export -f output\n" +"Thu 10 Oct 2013 11:52:41 PM CDT -------------------------> output\n" +"Thu 10 Oct 2013 11:52:41 PM CDT =========================> [2] | output\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules/Output/Modules\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_NAME [2]=upper\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_TYPE child\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_ARGUMENT\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_LIST camel|lower|random|upper\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output/Modules/Upper\n" +"Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules/Upper/Modules\n" +"Thu 10 Oct 2013 11:52:42 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Modules/Upper/Manuals\n" +"Thu 10 Oct 2013 11:52:42 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Modules/Upper/Locales\n" +"Thu 10 Oct 2013 11:52:42 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Modules/Upper/Configs\n" +"Thu 10 Oct 2013 11:52:42 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/Modules/Upper/upper.sh\n" +"Thu 10 Oct 2013 11:52:42 PM CDT TEXTDOMAIN upper.sh\n" +"Thu 10 Oct 2013 11:52:42 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Modules/Upper/Locales\n" +"Thu 10 Oct 2013 11:52:42 PM CDT export -f upper\n" +"Thu 10 Oct 2013 11:52:42 PM CDT -------------------------> upper\n" +"HI\n" +"Thu 10 Oct 2013 11:52:42 PM CDT <------------------------- upper\n" +"Thu 10 Oct 2013 11:52:42 PM CDT unset -f upper\n" +"Thu 10 Oct 2013 11:52:42 PM CDT <========================= [2] | output\n" +"Thu 10 Oct 2013 11:52:42 PM CDT <------------------------- output\n" +"Thu 10 Oct 2013 11:52:42 PM CDT unset -f output\n" +"Thu 10 Oct 2013 11:52:42 PM CDT <========================= [1] | hello\n" +"Thu 10 Oct 2013 11:52:42 PM CDT <------------------------- hello\n" +"Thu 10 Oct 2013 11:52:42 PM CDT unset -f hello\n" +"Thu 10 Oct 2013 11:52:42 PM CDT unset -f hello_getOptions\n" +"Thu 10 Oct 2013 11:52:42 PM CDT <========================= [0] | main" + +msgid "" +"The module environment described in shows the child modules' ability of reducing scope as " +"they get deeper in the chain of executed modules. However, child " +"modules lack the possibility of nest modules that share the same " +"scope. For example, in the hello module described above, you cannot execute the modules " +"lower or upper from camel module, as if they were child modules of it. That is not " +"possible because they all have the same scope, which is, to print " +"the greeting message to standard output. Child modules are " +"conceived to reduce the module scope as new child modules are " +"executed. When you need to execute new module environments and, " +"also, retain the last scope from which the new module is executed, " +"you need to use “sibling modules,” instead." +msgstr "" +"The module environment described in shows the child modules' ability of reducing scope as " +"they get deeper in the chain of executed modules. However, child " +"modules lack the possibility of nest modules that share the same " +"scope. For example, in the hello module described above, you cannot execute the modules " +"lower or upper from camel module, as if they were child modules of it. That is not " +"possible because they all have the same scope, which is, to print " +"the greeting message to standard output. Child modules are " +"conceived to reduce the module scope as new child modules are " +"executed. When you need to execute new module environments and, " +"also, retain the last scope from which the new module is executed, " +"you need to use “sibling modules,” instead." + +msgid "Sibling Modules" +msgstr "Sibling Modules" + +msgid "" +"Sibling modules are initiated by executing the tcar_setModuleEnvironment function with the " +"-t sibling option set on it. " +"Sibling modules are another type of nested modules but, in contrast " +"with child modules, sibling modules cannot be executed from parent " +"modules. Normally, sibling modules are executed from other sibling " +"modules but, considering the context, they can be executed from " +"child module too, to initiate sibling processing. When several " +"siblings modules are executed, they also build a chain of modules. " +"In contrast with the chain of child modules, the chain of sibling " +"modules destroys the last sibling module executed before executing " +"the next sibling module. This make the chain to stop its growing at " +"sibling module processing, unless you call a child module from a " +"sibling module. In this case, the chain expansion would continue as " +"long as the number of child modules you execute. This process " +"becomes more visible when you take a look at ." +msgstr "" +"Sibling modules are initiated by executing the tcar_setModuleEnvironment function with the " +"-t sibling option set on it. " +"Sibling modules are another type of nested modules but, in contrast " +"with child modules, sibling modules cannot be executed from parent " +"modules. Normally, sibling modules are executed from other sibling " +"modules but, considering the context, they can be executed from " +"child module too, to initiate sibling processing. When several " +"siblings modules are executed, they also build a chain of modules. " +"In contrast with the chain of child modules, the chain of sibling " +"modules destroys the last sibling module executed before executing " +"the next sibling module. This make the chain to stop its growing at " +"sibling module processing, unless you call a child module from a " +"sibling module. In this case, the chain expansion would continue as " +"long as the number of child modules you execute. This process " +"becomes more visible when you take a look at ." + +msgid "" +"In , we've executed the " +"hello module with the " +"—greeting=hi, —camel, and —debug options. In this example, centos-art.sh script executes the hello module then the output module which in turn executes the camel module. At this point, can " +"appreciate how the chain of modules stop growing. Observe that " +"camel module has gained the " +"position 2 in the chain of modules and executes the upper module which takes the position 3, as " +"expected. Now, when upper " +"module finishes its work it is destroyed and the module's counter " +"is reset to its previous value which is 2 (the one set by camel module). Then, camel executes the lower module which take position 3 at the chain of " +"modules until it finishes. When it finishes, the camel module finishes its work and is " +"destroyed, then output, then " +"hello." +msgstr "" +"In , we've executed the " +"hello module with the " +"—greeting=hi, —camel, and —debug options. In this example, centos-art.sh script executes the hello module then the output module which in turn executes the camel module. At this point, can " +"appreciate how the chain of modules stop growing. Observe that " +"camel module has gained the " +"position 2 in the chain of modules and executes the upper module which takes the position 3, as " +"expected. Now, when upper " +"module finishes its work it is destroyed and the module's counter " +"is reset to its previous value which is 2 (the one set by camel module). Then, camel executes the lower module which take position 3 at the chain of " +"modules until it finishes. When it finishes, the camel module finishes its work and is " +"destroyed, then output, then " +"hello." + +msgid "Debugging execution of sibling modules" +msgstr "Debugging execution of sibling modules" + +#, no-wrap +msgid "" +"Thu 10 Oct 2013 11:51:42 PM CDT =========================> [0] | main\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_BASEDIR Automation/Modules\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_NAME [0]=hello\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_TYPE parent\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_ARGUMENT --camel --greeting=hi\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_LIST hello|help|locale|prepare|render|tuneup|vcs\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Manuals\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Locales\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Configs\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/hello.sh\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TEXTDOMAIN hello.sh\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Locales\n" +"Thu 10 Oct 2013 11:51:43 PM CDT export -f hello\n" +"Thu 10 Oct 2013 11:51:43 PM CDT export -f hello_getOptions\n" +"Thu 10 Oct 2013 11:51:43 PM CDT -------------------------> hello --camel --greeting=hi\n" +"Thu 10 Oct 2013 11:51:43 PM CDT =========================> [1] | hello\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_NAME [1]=output\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_TYPE child\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_ARGUMENT\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_LIST output\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Manuals\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Locales\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Configs\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/output.sh\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TEXTDOMAIN output.sh\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Locales\n" +"Thu 10 Oct 2013 11:51:43 PM CDT export -f output\n" +"Thu 10 Oct 2013 11:51:43 PM CDT -------------------------> output\n" +"Thu 10 Oct 2013 11:51:43 PM CDT =========================> [2] | output\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules/Output/Modules\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_NAME [2]=camel\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_TYPE child\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_ARGUMENT\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_LIST camel|lower|random|upper\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output/Modules/Camel\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules/Camel/Modules\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Modules/Camel/Manuals\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Modules/Camel/Locales\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Modules/Camel/Configs\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/Modules/Camel/camel.sh\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TEXTDOMAIN camel.sh\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Modules/Camel/Locales\n" +"Thu 10 Oct 2013 11:51:43 PM CDT export -f camel\n" +"Thu 10 Oct 2013 11:51:43 PM CDT -------------------------> camel\n" +"Thu 10 Oct 2013 11:51:43 PM CDT =========================> [3] | camel\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules/Output/Modules\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_NAME [3]=upper\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_TYPE sibling\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_ARGUMENT\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_LIST camel|lower|random|upper\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output/Modules/Upper\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules/Upper/Modules\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Modules/Upper/Manuals\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Modules/Upper/Locales\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Modules/Upper/Configs\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/Modules/Upper/upper.sh\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TEXTDOMAIN upper.sh\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Modules/Upper/Locales\n" +"Thu 10 Oct 2013 11:51:43 PM CDT export -f upper\n" +"Thu 10 Oct 2013 11:51:43 PM CDT -------------------------> upper\n" +"H\n" +"Thu 10 Oct 2013 11:51:43 PM CDT <------------------------- upper\n" +"Thu 10 Oct 2013 11:51:43 PM CDT unset -f upper\n" +"Thu 10 Oct 2013 11:51:43 PM CDT <========================= [3] | camel\n" +"Thu 10 Oct 2013 11:51:43 PM CDT =========================> [3] | camel\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules/Output/Modules\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_NAME [3]=lower\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_TYPE sibling\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_ARGUMENT\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_LIST camel|lower|random|upper\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output/Modules/Lower\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules/Lower/Modules\n" +"Thu 10 Oct 2013 11:51:44 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Modules/Lower/Manuals\n" +"Thu 10 Oct 2013 11:51:44 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Modules/Lower/Locales\n" +"Thu 10 Oct 2013 11:51:44 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Modules/Lower/Configs\n" +"Thu 10 Oct 2013 11:51:44 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/Modules/Lower/lower.sh\n" +"Thu 10 Oct 2013 11:51:44 PM CDT TEXTDOMAIN lower.sh\n" +"Thu 10 Oct 2013 11:51:44 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Modules/Lower/Locales\n" +"Thu 10 Oct 2013 11:51:44 PM CDT export -f lower\n" +"Thu 10 Oct 2013 11:51:44 PM CDT -------------------------> lower\n" +"i\n" +"Thu 10 Oct 2013 11:51:44 PM CDT <------------------------- lower\n" +"Thu 10 Oct 2013 11:51:44 PM CDT unset -f lower\n" +"Thu 10 Oct 2013 11:51:44 PM CDT <========================= [3] | camel\n" +"Thu 10 Oct 2013 11:51:44 PM CDT <------------------------- camel\n" +"Thu 10 Oct 2013 11:51:44 PM CDT unset -f camel\n" +"Thu 10 Oct 2013 11:51:44 PM CDT <========================= [2] | output\n" +"Thu 10 Oct 2013 11:51:44 PM CDT <------------------------- output\n" +"Thu 10 Oct 2013 11:51:44 PM CDT unset -f output\n" +"Thu 10 Oct 2013 11:51:44 PM CDT <========================= [1] | hello\n" +"Thu 10 Oct 2013 11:51:44 PM CDT <------------------------- hello\n" +"Thu 10 Oct 2013 11:51:44 PM CDT unset -f hello\n" +"Thu 10 Oct 2013 11:51:44 PM CDT unset -f hello_getOptions\n" +"Thu 10 Oct 2013 11:51:44 PM CDT <========================= [0] | main" +msgstr "" +"Thu 10 Oct 2013 11:51:42 PM CDT =========================> [0] | main\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_BASEDIR Automation/Modules\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_NAME [0]=hello\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_TYPE parent\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_ARGUMENT --camel --greeting=hi\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_LIST hello|help|locale|prepare|render|tuneup|vcs\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Manuals\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Locales\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Configs\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/hello.sh\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TEXTDOMAIN hello.sh\n" +"Thu 10 Oct 2013 11:51:42 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Locales\n" +"Thu 10 Oct 2013 11:51:43 PM CDT export -f hello\n" +"Thu 10 Oct 2013 11:51:43 PM CDT export -f hello_getOptions\n" +"Thu 10 Oct 2013 11:51:43 PM CDT -------------------------> hello --camel --greeting=hi\n" +"Thu 10 Oct 2013 11:51:43 PM CDT =========================> [1] | hello\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_NAME [1]=output\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_TYPE child\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_ARGUMENT\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_LIST output\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Manuals\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Locales\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Configs\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/output.sh\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TEXTDOMAIN output.sh\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Locales\n" +"Thu 10 Oct 2013 11:51:43 PM CDT export -f output\n" +"Thu 10 Oct 2013 11:51:43 PM CDT -------------------------> output\n" +"Thu 10 Oct 2013 11:51:43 PM CDT =========================> [2] | output\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules/Output/Modules\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_NAME [2]=camel\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_TYPE child\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_ARGUMENT\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_LIST camel|lower|random|upper\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output/Modules/Camel\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules/Camel/Modules\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Modules/Camel/Manuals\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Modules/Camel/Locales\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Modules/Camel/Configs\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/Modules/Camel/camel.sh\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TEXTDOMAIN camel.sh\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Modules/Camel/Locales\n" +"Thu 10 Oct 2013 11:51:43 PM CDT export -f camel\n" +"Thu 10 Oct 2013 11:51:43 PM CDT -------------------------> camel\n" +"Thu 10 Oct 2013 11:51:43 PM CDT =========================> [3] | camel\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules/Output/Modules\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_NAME [3]=upper\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_TYPE sibling\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_ARGUMENT\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_LIST camel|lower|random|upper\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output/Modules/Upper\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules/Upper/Modules\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Modules/Upper/Manuals\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Modules/Upper/Locales\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Modules/Upper/Configs\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/Modules/Upper/upper.sh\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TEXTDOMAIN upper.sh\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Modules/Upper/Locales\n" +"Thu 10 Oct 2013 11:51:43 PM CDT export -f upper\n" +"Thu 10 Oct 2013 11:51:43 PM CDT -------------------------> upper\n" +"H\n" +"Thu 10 Oct 2013 11:51:43 PM CDT <------------------------- upper\n" +"Thu 10 Oct 2013 11:51:43 PM CDT unset -f upper\n" +"Thu 10 Oct 2013 11:51:43 PM CDT <========================= [3] | camel\n" +"Thu 10 Oct 2013 11:51:43 PM CDT =========================> [3] | camel\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules/Output/Modules\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_NAME [3]=lower\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_TYPE sibling\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_ARGUMENT\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_LIST camel|lower|random|upper\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output/Modules/Lower\n" +"Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules/Lower/Modules\n" +"Thu 10 Oct 2013 11:51:44 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Modules/Lower/Manuals\n" +"Thu 10 Oct 2013 11:51:44 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Modules/Lower/Locales\n" +"Thu 10 Oct 2013 11:51:44 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Modules/Lower/Configs\n" +"Thu 10 Oct 2013 11:51:44 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/Modules/Lower/lower.sh\n" +"Thu 10 Oct 2013 11:51:44 PM CDT TEXTDOMAIN lower.sh\n" +"Thu 10 Oct 2013 11:51:44 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Modules/Lower/Locales\n" +"Thu 10 Oct 2013 11:51:44 PM CDT export -f lower\n" +"Thu 10 Oct 2013 11:51:44 PM CDT -------------------------> lower\n" +"i\n" +"Thu 10 Oct 2013 11:51:44 PM CDT <------------------------- lower\n" +"Thu 10 Oct 2013 11:51:44 PM CDT unset -f lower\n" +"Thu 10 Oct 2013 11:51:44 PM CDT <========================= [3] | camel\n" +"Thu 10 Oct 2013 11:51:44 PM CDT <------------------------- camel\n" +"Thu 10 Oct 2013 11:51:44 PM CDT unset -f camel\n" +"Thu 10 Oct 2013 11:51:44 PM CDT <========================= [2] | output\n" +"Thu 10 Oct 2013 11:51:44 PM CDT <------------------------- output\n" +"Thu 10 Oct 2013 11:51:44 PM CDT unset -f output\n" +"Thu 10 Oct 2013 11:51:44 PM CDT <========================= [1] | hello\n" +"Thu 10 Oct 2013 11:51:44 PM CDT <------------------------- hello\n" +"Thu 10 Oct 2013 11:51:44 PM CDT unset -f hello\n" +"Thu 10 Oct 2013 11:51:44 PM CDT unset -f hello_getOptions\n" +"Thu 10 Oct 2013 11:51:44 PM CDT <========================= [0] | main" + +msgid "" +" shows a single iteration " +"of centos-art.sh script " +"executing different types of modules. Normally, one module is " +"executed at some point and destroyed at the same point when it has " +"finished its work, however, what if the next immediate module you " +"are about to execute is the same module you are about to destroyed? " +"This is, you need to execute the last module in the chain of " +"executed modules again, but, this time, from itself. In cases like " +"this, the centos-art.sh script " +"doesn't destroy the last module. It cannot, because you are " +"certainly executing a new module from itself, so it has to wait for " +"this new call to finish in order to be destroyed. This kind of " +"processing is known as processing modules recursively." +msgstr "" +" shows a single iteration " +"of centos-art.sh script " +"executing different types of modules. Normally, one module is " +"executed at some point and destroyed at the same point when it has " +"finished its work, however, what if the next immediate module you " +"are about to execute is the same module you are about to destroyed? " +"This is, you need to execute the last module in the chain of " +"executed modules again, but, this time, from itself. In cases like " +"this, the centos-art.sh script " +"doesn't destroy the last module. It cannot, because you are " +"certainly executing a new module from itself, so it has to wait for " +"this new call to finish in order to be destroyed. This kind of " +"processing is known as processing modules recursively." + +msgid "Recursive Modules" +msgstr "Recursive Modules" + +msgid "" +"When one module environment executes itself we are in presence of a " +"recursive module execution. The execution of modules recursively " +"doesn't destroy the last module in the chain of executed modules " +"and doesn't increment or decrement the module counter either. The " +"module counter is somehow frozen until a different module " +"environment is executed. In these cases, the last module " +"environment remains in memory for the new module execution to make " +"use of. This process becomes more visible when you take a look at " +"." +msgstr "" +"When one module environment executes itself we are in presence of a " +"recursive module execution. The execution of modules recursively " +"doesn't destroy the last module in the chain of executed modules " +"and doesn't increment or decrement the module counter either. The " +"module counter is somehow frozen until a different module " +"environment is executed. In these cases, the last module " +"environment remains in memory for the new module execution to make " +"use of. This process becomes more visible when you take a look at " +"." + +msgid "" +"When you execute modules recursively, you should be very careful " +"not to get trapped into an endless loop." +msgstr "" +"When you execute modules recursively, you should be very careful " +"not to get trapped into an endless loop." + +msgid "" +"In , we've executed the " +"hello module with the " +"—greeting=hello, —random, and —" +"debug options. In this example, centos-art.sh script executes a parent module named " +"hello which in turn executes a " +"child module named output " +"which in turn executes a child module named random. At this point, the random modules executes itself five times (the number " +"of characters passed as value to greeting option) to print out " +"random letters from the greeting message. The output may have no " +"much sense on itself but the related debugging information helps to " +"understand the execution of modules recursively." +msgstr "" +"In , we've executed the " +"hello module with the " +"—greeting=hello, —random, and —" +"debug options. In this example, centos-art.sh script executes a parent module named " +"hello which in turn executes a " +"child module named output " +"which in turn executes a child module named random. At this point, the random modules executes itself five times (the number " +"of characters passed as value to greeting option) to print out " +"random letters from the greeting message. The output may have no " +"much sense on itself but the related debugging information helps to " +"understand the execution of modules recursively." + +msgid "Processing execution of modules recursively" +msgstr "Processing execution of modules recursively" + +#, no-wrap +msgid "" +"Thu 10 Oct 2013 11:50:03 PM CDT =========================> [0] | main\n" +"Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_BASEDIR Automation/Modules\n" +"Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_NAME [0]=hello\n" +"Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_TYPE parent\n" +"Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_ARGUMENT --random --greeting=Hello\n" +"Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_LIST hello|help|locale|prepare|render|tuneup|vcs\n" +"Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello\n" +"Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules\n" +"Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Manuals\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Locales\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Configs\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/hello.sh\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TEXTDOMAIN hello.sh\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Locales\n" +"Thu 10 Oct 2013 11:50:04 PM CDT export -f hello\n" +"Thu 10 Oct 2013 11:50:04 PM CDT export -f hello_getOptions\n" +"Thu 10 Oct 2013 11:50:04 PM CDT -------------------------> hello --random --greeting=Hello\n" +"Thu 10 Oct 2013 11:50:04 PM CDT =========================> [1] | hello\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_NAME [1]=output\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_TYPE child\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_ARGUMENT\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_LIST output\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Manuals\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Locales\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Configs\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/output.sh\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TEXTDOMAIN output.sh\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Locales\n" +"Thu 10 Oct 2013 11:50:04 PM CDT export -f output\n" +"Thu 10 Oct 2013 11:50:04 PM CDT -------------------------> output\n" +"Thu 10 Oct 2013 11:50:04 PM CDT =========================> [2] | output\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules/Output/Modules\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_NAME [2]=random\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_TYPE child\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_ARGUMENT\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_LIST camel|lower|random|upper\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output/Modules/Random\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules/Random/Modules\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Modules/Random/Manuals\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Modules/Random/Locales\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Modules/Random/Configs\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/Modules/Random/random.sh\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TEXTDOMAIN random.sh\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Modules/Random/Locales\n" +"Thu 10 Oct 2013 11:50:04 PM CDT export -f random\n" +"Thu 10 Oct 2013 11:50:04 PM CDT -------------------------> random\n" +"H\n" +"Thu 10 Oct 2013 11:50:04 PM CDT ~~~~~~~~~~~~~~~~~~~~~~~~~> random\n" +"H\n" +"Thu 10 Oct 2013 11:50:04 PM CDT ~~~~~~~~~~~~~~~~~~~~~~~~~> random\n" +"l\n" +"Thu 10 Oct 2013 11:50:04 PM CDT ~~~~~~~~~~~~~~~~~~~~~~~~~> random\n" +"l\n" +"Thu 10 Oct 2013 11:50:04 PM CDT ~~~~~~~~~~~~~~~~~~~~~~~~~> random\n" +"H\n" +"Thu 10 Oct 2013 11:50:04 PM CDT <------------------------- random\n" +"Thu 10 Oct 2013 11:50:04 PM CDT unset -f random\n" +"Thu 10 Oct 2013 11:50:04 PM CDT <========================= [2] | output\n" +"Thu 10 Oct 2013 11:50:04 PM CDT <------------------------- output\n" +"Thu 10 Oct 2013 11:50:05 PM CDT unset -f output\n" +"Thu 10 Oct 2013 11:50:05 PM CDT <========================= [1] | hello\n" +"Thu 10 Oct 2013 11:50:05 PM CDT <------------------------- hello\n" +"Thu 10 Oct 2013 11:50:05 PM CDT unset -f hello\n" +"Thu 10 Oct 2013 11:50:05 PM CDT unset -f hello_getOptions\n" +"Thu 10 Oct 2013 11:50:05 PM CDT <========================= [0] | main" +msgstr "" +"Thu 10 Oct 2013 11:50:03 PM CDT =========================> [0] | main\n" +"Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_BASEDIR Automation/Modules\n" +"Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_NAME [0]=hello\n" +"Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_TYPE parent\n" +"Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_ARGUMENT --random --greeting=Hello\n" +"Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_LIST hello|help|locale|prepare|render|tuneup|vcs\n" +"Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello\n" +"Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules\n" +"Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Manuals\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Locales\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Configs\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/hello.sh\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TEXTDOMAIN hello.sh\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Locales\n" +"Thu 10 Oct 2013 11:50:04 PM CDT export -f hello\n" +"Thu 10 Oct 2013 11:50:04 PM CDT export -f hello_getOptions\n" +"Thu 10 Oct 2013 11:50:04 PM CDT -------------------------> hello --random --greeting=Hello\n" +"Thu 10 Oct 2013 11:50:04 PM CDT =========================> [1] | hello\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_NAME [1]=output\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_TYPE child\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_ARGUMENT\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_LIST output\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Manuals\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Locales\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Configs\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/output.sh\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TEXTDOMAIN output.sh\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Locales\n" +"Thu 10 Oct 2013 11:50:04 PM CDT export -f output\n" +"Thu 10 Oct 2013 11:50:04 PM CDT -------------------------> output\n" +"Thu 10 Oct 2013 11:50:04 PM CDT =========================> [2] | output\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules/Output/Modules\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_NAME [2]=random\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_TYPE child\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_ARGUMENT\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_LIST camel|lower|random|upper\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output/Modules/Random\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules/Random/Modules\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Modules/Random/Manuals\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Modules/Random/Locales\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Modules/Random/Configs\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/Modules/Random/random.sh\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TEXTDOMAIN random.sh\n" +"Thu 10 Oct 2013 11:50:04 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Modules/Random/Locales\n" +"Thu 10 Oct 2013 11:50:04 PM CDT export -f random\n" +"Thu 10 Oct 2013 11:50:04 PM CDT -------------------------> random\n" +"H\n" +"Thu 10 Oct 2013 11:50:04 PM CDT ~~~~~~~~~~~~~~~~~~~~~~~~~> random\n" +"H\n" +"Thu 10 Oct 2013 11:50:04 PM CDT ~~~~~~~~~~~~~~~~~~~~~~~~~> random\n" +"l\n" +"Thu 10 Oct 2013 11:50:04 PM CDT ~~~~~~~~~~~~~~~~~~~~~~~~~> random\n" +"l\n" +"Thu 10 Oct 2013 11:50:04 PM CDT ~~~~~~~~~~~~~~~~~~~~~~~~~> random\n" +"H\n" +"Thu 10 Oct 2013 11:50:04 PM CDT <------------------------- random\n" +"Thu 10 Oct 2013 11:50:04 PM CDT unset -f random\n" +"Thu 10 Oct 2013 11:50:04 PM CDT <========================= [2] | output\n" +"Thu 10 Oct 2013 11:50:04 PM CDT <------------------------- output\n" +"Thu 10 Oct 2013 11:50:05 PM CDT unset -f output\n" +"Thu 10 Oct 2013 11:50:05 PM CDT <========================= [1] | hello\n" +"Thu 10 Oct 2013 11:50:05 PM CDT <------------------------- hello\n" +"Thu 10 Oct 2013 11:50:05 PM CDT unset -f hello\n" +"Thu 10 Oct 2013 11:50:05 PM CDT unset -f hello_getOptions\n" +"Thu 10 Oct 2013 11:50:05 PM CDT <========================= [0] | main" + +msgid "" +"Recursive execution of modules occurs only when the module you are " +"executing is considered sibling of the last module executed in the " +"chain of executed modules and they both have the same name. The " +"fact that no variable name is printed out in means that they were not created. The arrows " +"change from -> to ~>, " +"means that module's related functions weren't exported for the new " +"module execution either. It also means that the initialization " +"script is reusing both related functions and variables from the " +"last module environment in the chain of executed modules. In this " +"case the random module." +msgstr "" +"Recursive execution of modules occurs only when the module you are " +"executing is considered sibling of the last module executed in the " +"chain of executed modules and they both have the same name. The " +"fact that no variable name is printed out in means that they were not created. The arrows " +"change from -> to ~>, " +"means that module's related functions weren't exported for the new " +"module execution either. It also means that the initialization " +"script is reusing both related functions and variables from the " +"last module environment in the chain of executed modules. In this " +"case the random module." + +msgid "" +"This section covered the resources you can use to optimize module " +"environments inside centos-art.sh script. The next section summarizes the base files and " +"directories you might find inside one module environment." +msgstr "" +"This section covered the resources you can use to optimize module " +"environments inside centos-art.sh script. The next section summarizes the base files and " +"directories you might find inside one module environment." + +msgid "Module Structure" +msgstr "Module Structure" + +msgid "" +"The module structure takes place at the root location of centos-art.sh script, specifically, in a " +"directory named Modules. The Modules directory at centos-art.sh root location is the highest level which you can store " +"modules in. Modules stored in this location are known as parent " +"modules. Parent modules can optimize their structure by using " +"related functions, child modules, sibling modules and recursive " +"modules. Basically, all these types of modules share the same " +"structure. They all have function files and, optionally, module " +"related stuff like locales, documentation, configuration and " +"dependent modules. See ." +msgstr "" +"The module structure takes place at the root location of centos-art.sh script, specifically, in a " +"directory named Modules. The Modules directory at centos-art.sh root location is the highest level which you can store " +"modules in. Modules stored in this location are known as parent " +"modules. Parent modules can optimize their structure by using " +"related functions, child modules, sibling modules and recursive " +"modules. Basically, all these types of modules share the same " +"structure. They all have function files and, optionally, module " +"related stuff like locales, documentation, configuration and " +"dependent modules. See ." + +msgid "" +"From version 0.7 on, child modules no longer have Locales, Manuals and Configs " +"directories inside. Only initialization files, related functions " +"and Modules directory are supported inside child " +"modules. See Bug 114." +msgstr "" +"From version 0.7 on, child modules no longer have Locales, Manuals and Configs " +"directories inside. Only initialization files, related functions " +"and Modules directory are supported inside child " +"modules. See Bug 114." + +msgid "The directory structure of hello module" +msgstr "The directory structure of hello module" + +#, no-wrap +msgid "" +".\n" +"|-- COPYING\n" +"|-- Locales/\n" +"|-- Manuals/\n" +"|-- Modules/\n" +"| `-- Hello/ \n" +"| |-- Locales\n" +"| | |-- es_ES\n" +"| | | |-- LC_MESSAGES\n" +"| | | | `-- hello.sh.mo \n" +"| | | `-- hello.sh.po\n" +"| | `-- hello.sh.pot\n" +"| |-- Manuals\n" +"| | |-- hello.asciidoc\n" +"| | |-- man1\n" +"| | | `-- hello.1 \n" +"| | `-- render.conf \n" +"| |-- Modules\n" +"| | `-- Output \n" +"| | |-- Modules\n" +"| | | |-- Camel\n" +"| | | | `-- camel.sh\n" +"| | | |-- Lower \n" +"| | | | `-- lower.sh \n" +"| | | |-- Random\n" +"| | | | `-- random.sh\n" +"| | | `-- Upper\n" +"| | | `-- upper.sh\n" +"| | `-- output.sh \n" +"| |-- hello.sh \n" +"| `-- hello_getOptions.sh \n" +"|-- Scripts/\n" +"|-- centos-art.conf.sh\n" +"`-- centos-art.sh" +msgstr "" +".\n" +"|-- COPYING\n" +"|-- Locales/\n" +"|-- Manuals/\n" +"|-- Modules/\n" +"| `-- Hello/ \n" +"| |-- Locales\n" +"| | |-- es_ES\n" +"| | | |-- LC_MESSAGES\n" +"| | | | `-- hello.sh.mo \n" +"| | | `-- hello.sh.po\n" +"| | `-- hello.sh.pot\n" +"| |-- Manuals\n" +"| | |-- hello.asciidoc\n" +"| | |-- man1\n" +"| | | `-- hello.1 \n" +"| | `-- render.conf \n" +"| |-- Modules\n" +"| | `-- Output \n" +"| | |-- Modules\n" +"| | | |-- Camel\n" +"| | | | `-- camel.sh\n" +"| | | |-- Lower \n" +"| | | | `-- lower.sh \n" +"| | | |-- Random\n" +"| | | | `-- random.sh\n" +"| | | `-- Upper\n" +"| | | `-- upper.sh\n" +"| | `-- output.sh \n" +"| |-- hello.sh \n" +"| `-- hello_getOptions.sh \n" +"|-- Scripts/\n" +"|-- centos-art.conf.sh\n" +"`-- centos-art.sh" + +msgid "" +"Child module of centos-art.sh " +"script and parent module of output module." +msgstr "" +"Child module of centos-art.sh " +"script and parent module of output module." + +msgid "" +"Spanish translated strings of hello module." +msgstr "" +"Spanish translated strings of hello module." + +msgid "" +"Manpage shown when you request help of hello module." +msgstr "" +"Manpage shown when you request help of hello module." + +msgid "" +"Configuration file used to produce the manpage of hello module." +msgstr "" +"Configuration file used to produce the manpage of hello module." + +msgid "" +"Child module of hello module " +"and parent module of camel,lower,random and upper modules." +msgstr "" +"Child module of hello module " +"and parent module of camel,lower,random and upper modules." + +msgid "" +"Child module of output module " +"and sibling module of camel,random and upper module." +msgstr "" +"Child module of output module " +"and sibling module of camel,random and upper module." + +msgid "" +"Initialization file of lower " +"module." +msgstr "" +"Initialization file of lower " +"module." + +msgid "" +"Initialization file of output " +"module." +msgstr "" +"Initialization file of output " +"module." + +msgid "" +"Initialization file of hello " +"module." +msgstr "" +"Initialization file of hello " +"module." + +msgid "" +"Function file related to hello " +"module." +msgstr "" +"Function file related to hello " +"module." + +msgid "" +" presents a complete " +"structure for module environments you can use as reference for " +"writing your own modules. It begins with a parent module directory " +"named “Hello” which contains an initialization file (“hello.sh”) " +"and one related function file (“hello_getOptions.sh”). These files " +"work together with a child module named output which in turn has four child modules inside " +"named camel,lower,random, and upper. The " +"Locales directory contains the required " +"information to print hello " +"messages in different languages (e.g., it only supports Spanish " +"language in our example, but it can be extended to other languages " +"as needed). The Manuals directory contains all " +"the files required to produce documentation for the hello module (e.g., the information you read " +"when provide the —help option " +"in the command-line)." +msgstr "" +" presents a complete " +"structure for module environments you can use as reference for " +"writing your own modules. It begins with a parent module directory " +"named “Hello” which contains an initialization file (“hello.sh”) " +"and one related function file (“hello_getOptions.sh”). These files " +"work together with a child module named output which in turn has four child modules inside " +"named camel,lower,random, and upper. The " +"Locales directory contains the required " +"information to print hello " +"messages in different languages (e.g., it only supports Spanish " +"language in our example, but it can be extended to other languages " +"as needed). The Manuals directory contains all " +"the files required to produce documentation for the hello module (e.g., the information you read " +"when provide the —help option " +"in the command-line)." + +msgid "The Function Files" +msgstr "The Function Files" + +msgid "" +"The function files are used to create the initialization file of a " +"module and the related functions of it. As convention, both " +"initialization file and related function files are stored in the " +"module's directory, see ." +msgstr "" +"The function files are used to create the initialization file of a " +"module and the related functions of it. As convention, both " +"initialization file and related function files are stored in the " +"module's directory, see ." + +msgid "" +"At execution time, the definition of related function are exported " +"to centos-art.sh execution " +"environment before executing the function definition set inside the " +"initialization file, so related functions are always available for " +"you to use in the initialization file file and other related " +"functions as well. This is rather useful when you are refactoring " +"your initialization scripts and probably related functions as well." +msgstr "" +"At execution time, the definition of related function are exported " +"to centos-art.sh execution " +"environment before executing the function definition set inside the " +"initialization file, so related functions are always available for " +"you to use in the initialization file file and other related " +"functions as well. This is rather useful when you are refactoring " +"your initialization scripts and probably related functions as well." + +msgid "" +"As naming convention, related function files are written using the " +"module's name, then an underscore (“_”), then a descriptive name " +"and, finally, the “.sh” extension. The function " +"definition inside the function file also follows this convention " +"but excludes the “.sh” extension from name (e." +"g., the function file “hello_getOptions.sh” has " +"a function definition named “hello_getOptions” " +"inside). The centos-art.sh " +"script relays in these conventions to export and destroy related " +"functions when new module environments are created and destroyed. " +"If you create related function files with a pattern different from " +"that described here, they will not be executed nor available inside " +"the initialization file of the module environment being currently " +"executed." +msgstr "" +"As naming convention, related function files are written using the " +"module's name, then an underscore (“_”), then a descriptive name " +"and, finally, the “.sh” extension. The function " +"definition inside the function file also follows this convention " +"but excludes the “.sh” extension from name (e." +"g., the function file “hello_getOptions.sh” has " +"a function definition named “hello_getOptions” " +"inside). The centos-art.sh " +"script relays in these conventions to export and destroy related " +"functions when new module environments are created and destroyed. " +"If you create related function files with a pattern different from " +"that described here, they will not be executed nor available inside " +"the initialization file of the module environment being currently " +"executed." + +msgid "" +"See also: and ." +msgstr "" +"See also: and ." + +msgid "The Modules Directory" +msgstr "The Modules Directory" + +msgid "" +"This directory contains nested modules (e.g., child modules) and is " +"used for extending the current module functionality in a modular " +"way. There isn't a visible limitation in the number of " +"Modules directory you can nest inside one module " +"to achieve certain functionality so, you can create as many levels " +"of Modules directories as you need." +msgstr "" +"This directory contains nested modules (e.g., child modules) and is " +"used for extending the current module functionality in a modular " +"way. There isn't a visible limitation in the number of " +"Modules directory you can nest inside one module " +"to achieve certain functionality so, you can create as many levels " +"of Modules directories as you need." + +msgid "The Locales Directory" +msgstr "The Locales Directory" + +msgid "" +"This directory contains module-specific localization files. The " +"content of this directory is automatically generated by locale module of centos-art.sh script, when you execute it using the " +"initialization file as source and the —" +"update —sibling options. Once the localization files " +"have been created, you need to edit PO files to translate the " +"strings from English to your preferred language. If the " +"translatable strings inside the module's source files change, you " +"need to run the locale module " +"again to update the PO files and repeat the localization process " +"all over again." +msgstr "" +"This directory contains module-specific localization files. The " +"content of this directory is automatically generated by locale module of centos-art.sh script, when you execute it using the " +"initialization file as source and the —" +"update —sibling options. Once the localization files " +"have been created, you need to edit PO files to translate the " +"strings from English to your preferred language. If the " +"translatable strings inside the module's source files change, you " +"need to run the locale module " +"again to update the PO files and repeat the localization process " +"all over again." + +msgid "The Manuals Directory" +msgstr "The Manuals Directory" + +msgid "" +"This directory contains module-specific documentation. " +"Documentation in this directory is written in asciidoc format and " +"produced through the render " +"module of centos-art.sh script " +"to different formats, including man pages and html." +msgstr "" +"This directory contains module-specific documentation. " +"Documentation in this directory is written in asciidoc format and " +"produced through the render " +"module of centos-art.sh script " +"to different formats, including man pages and html." + +msgid "The Configs Directory" +msgstr "The Configs Directory" + +msgid "" +"This directory contains module-specific configuration. Some modules " +"(e.g., “tuneup”) need to store auxiliary files required to achieve " +"its main goal (e.g., the “tuneup” module uses sed files to " +"transform the top-comment of scripts each time it is executed, the " +"sed file itself is stored in this directory). Whenever you need to " +"make reference to a file inside this directory, use the " +"“TCAR_MODULE_DIR_CONFIGS” variable. This variable provides the " +"absolute path of module-related configuration file." +msgstr "" +"This directory contains module-specific configuration. Some modules " +"(e.g., “tuneup”) need to store auxiliary files required to achieve " +"its main goal (e.g., the “tuneup” module uses sed files to " +"transform the top-comment of scripts each time it is executed, the " +"sed file itself is stored in this directory). Whenever you need to " +"make reference to a file inside this directory, use the " +"“TCAR_MODULE_DIR_CONFIGS” variable. This variable provides the " +"absolute path of module-related configuration file." + +msgid "" +"This section has covered the directories and files a module is made " +"of inside the centos-art.sh " +"script." +msgstr "" +"This section has covered the directories and files a module is made " +"of inside the centos-art.sh " +"script." + +#. Put one translator per line, in the form of NAME , YEAR1, YEAR2. +msgid "translator-credits" +msgstr "translator-credits" diff --git a/tcar-scripts-docs/Understanding_Modules/render.conf b/tcar-scripts-docs/Understanding_Modules/render.conf new file mode 100644 index 0000000..046b3dd --- /dev/null +++ b/tcar-scripts-docs/Understanding_Modules/render.conf @@ -0,0 +1,9 @@ +[understanding_modules.html] +render-type = "asciidoc" +render-flow = "article" +render-from = "understanding_modules.asciidoc" +locale-from = "Locales/${TCAR_SCRIPT_LANG_LC}/understanding_modules.asciidoc.po" +images-from = "${TCAR_BASEDIR}/Artworks/Icons/Webenv/Final" +styles-from = "${TCAR_BASEDIR}/Artworks/Webenv/Docbook/1.69.1/Css" +formats = "xhtml" +render-page = "single chunks" diff --git a/tcar-scripts-docs/Understanding_Modules/understanding_modules.asciidoc b/tcar-scripts-docs/Understanding_Modules/understanding_modules.asciidoc new file mode 100644 index 0000000..6b2f156 --- /dev/null +++ b/tcar-scripts-docs/Understanding_Modules/understanding_modules.asciidoc @@ -0,0 +1,994 @@ +Understanding Modules +===================== +Alain Reguera Delgado +v0.1, Oct 2013 + +Overview +-------- + +From version 0.5, *centos-art.sh* script implements the idea of +modules to its base design. Modules are a collection of functions +written in Bash that can call themselves one another to create +individual execution environments. They may be nested to achieve high +levels of maintainability and extensibility. This make possible for +modules writers to divide complicated tasks into smaller tasks that +can be easier to debug, maintain and share with other modules +efficiently (e.g., instead of loading modules all at once, they are +only loaded at demand and unset once they conclude their execution). + +This article describes the modular design of *centos-art.sh* script. +It is a good place for you to start if you are planning to contribute +new module environments to *centos-art.sh* script or want to know more +about how they work. The next section delves into what a module +environment is, the three module types you can find in it and the +correct way of execute each one of them. + +[[module-environment]] +Module Environment +------------------ + +When you execute the *centos-art.sh* script you create an execution +environment in which variables and functions are defined. This +execution environment is the higher environment inside *centos-art.sh* +script. It is considered to have a ``global'' scope, so variables and +functions defined inside it are always available for any function +execution made from it. You can control the execution environment of +*centos-art.sh* script through +centos-art.sh+ and ++centos-art.conf.sh+ files. These files don't provide too much +functionality so specific module environments are executed from ++centos-art.sh+ at demand, to extend its functionality. + +Module environments are made of small functions that perform small +tasks and can be further executed in a specific order to produce a +desired result. Module environments are executed and destroyed at +demand. Inside *centos-art.sh*, module environments can be either +``parent modules,'' ``child modules,'' or ``sibling modules.'' + +[[parent-modules-environment]] +Parent Modules +~~~~~~~~~~~~~~ + +Parent modules are initiated by executing the +*tcar_setModuleEnvironment* function with the *-t parent* option set +on it. Parent modules are very simple in design and you can use them +to implement simple solutions quickly. Normally, when you execute a +parent module, you initiate the highest module environment possible +inside *centos-art.sh* script. Because of such high scope, parent +modules are frequently used to define module's global variables, +interpret module-specific options passed through the command-line and +execute the appropriate actions based on them. + +In <>, we have executed the *hello* module with +the *--greeting=hi* and *--debug* options through the command-line. In +this example, *centos-art.sh* script executes a parent module named +*hello*, processes the module-specific options passed through the +command-line, prints a greeting message to standard output and exits +successfully. + +[[debug-parent-modules]] +.Debugging execution of parent modules +====================================================================== +---------------------------------------------------------------------- +Thu 10 Oct 2013 11:53:28 PM CDT =========================> [0] | main +Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_BASEDIR Automation/Modules +Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_NAME [0]=hello +Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_TYPE parent +Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_ARGUMENT --greeting=hi +Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_LIST hello|help|locale|prepare|render|tuneup|vcs +Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello +Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules +Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Manuals +Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Locales +Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Configs +Thu 10 Oct 2013 11:53:28 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/hello.sh +Thu 10 Oct 2013 11:53:28 PM CDT TEXTDOMAIN hello.sh +Thu 10 Oct 2013 11:53:28 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Locales +Thu 10 Oct 2013 11:53:28 PM CDT export -f hello +Thu 10 Oct 2013 11:53:28 PM CDT export -f hello_getOptions +Thu 10 Oct 2013 11:53:28 PM CDT -------------------------> hello --greeting=hi +hi +Thu 10 Oct 2013 11:53:28 PM CDT <------------------------- hello +Thu 10 Oct 2013 11:53:28 PM CDT unset -f hello +Thu 10 Oct 2013 11:53:28 PM CDT unset -f hello_getOptions +Thu 10 Oct 2013 11:53:28 PM CDT <========================= [0] | main +---------------------------------------------------------------------- +====================================================================== + +<> describes an entire module environment in +action. With this information you can create your own module +environment, already. However, when your module is getting too much +complicated you probably want to divide it in smaller pieces that you +can execute accordingly, based on the purpose you defined for it. Such +kind of division can be implemented as described in +<>. + +Summary +~~~~~~~ + +This section has covered basic concepts related to module environment +inside *centos-art.sh* script. The next section takes these concepts +and focuses on the implementation of them. Once you finish it, you +should be able of writing your own module environments from scratch +inside *centos-art.sh* script. + +[[module-implementation]] +Module Implementation +--------------------- + +The *centos-art.sh* script implements module environments inside the +``+Modules+'' directory, as described in <>. + +[[module-implementation-parent]] +Parent Modules +~~~~~~~~~~~~~~ + +For example, consider the creation of a module named *hello*. The +purpose of this module is to print a greeting message to standard +output and then exit successfully. To create such a module, we need to +create a directory named ``Hello'' inside the ``Modules'' directory +and put an initialization file named ``hello.sh'' inside it. Because +we want to execute the *hello* module from *centos-art.sh* script +command-line, we put it in the first level of directories of +Modules+ +directory. See <>. + +[[parent-module-layout]] +.Directory layout used by parent modules +====================================================================== +---------------------------------------------------------------------- +. +|-- COPYING <1> +|-- Locales/ <2> +|-- Manuals/ <3> +|-- Modules/ <4> +| `-- Hello/ <5> +| |-- hello.sh <6> +| `-- hello_getOptions.sh <7> +|-- Scripts/ <8> +|-- centos-art.conf.sh <9> +`-- centos-art.sh <10> +---------------------------------------------------------------------- + +<1> Script's copying conditions. +<2> Script's localization files. +<3> Script's documentation files. +<4> Script's modules. Here is where you store parent modules. +<5> Parent directory of module named hello. +<6> Initialization file of module named hello. +<7> Function related to module named hello. +<8> Script's global functions. +<9> Script's configuration file. +<10> Script's initialization file. +====================================================================== + +<> presents a complete module layout you can use +as reference to create your own module implementations. However, it is +not complete yet. At this point, when you execute *centos-art.sh*, it +is able to find out *hello* module's initialization file and execute +it but that prints an error message because the initialization file +doesn't have a function definition inside. It is completely empty. In +order for *centos-art.sh* script to do something useful, you need to +write a function definition inside the initialization file, as +described in <>. + +[[module-init-file]] +The Initialization File +~~~~~~~~~~~~~~~~~~~~~~~ + +The module's initialization file contains the module's main function +definition and a comment describing what it does on top of it. This +comment includes a small description about what the function does, a +written by section, the copyright note and the legal status of the +file. The function definition is set later and must be written using +the long definition format (i.e., it must begin with the word +``+function+,'' then the function name, and finally the ``+{+'' +character). The name of the function is exactly the same of the +initialization file but without the +.sh+ extension. These conditions +are required in order for *centos-art.sh* script to execute the +function definition and destroy it when it is no longer used. See +<>. + +The function definition is where you write all the commands you want +the module runs, once executed. The function definition can be as +simple as just one single line of code or as complex as you can +imagine. It is the place where you express your solutions. However, +when writing initialization files, it is considered a good practice to +avoid any sort of complexity. Instead, try to write small and simple +initialization files. In case you notice the initialization file is +growing up inevitably, you can reduce its code by refactoring it. To +do this, you can use resources like module related functions and child +modules. These resources are described in <>, and +they help you to keep the initialization file in a clean state, easy +to understand, maintain and debug. + +[[initialization-file]] +.Initialization file used by hello module +====================================================================== +---------------------------------------------------------------------- +#!/bin/bash +###################################################################### +# +# hello.sh -- Print out greetings to standard output and exit +# successfully. +# +# Written by: +# * Alain Reguera Delgado , 2013 +# +# Copyright (C) 2009-2013 The CentOS Artwork SIG +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# +###################################################################### + +function hello { + + tcar_printMessage "`gettext "Hello, World!"`" --as-stdout-line + +} +---------------------------------------------------------------------- +====================================================================== + +The function definition described in <> uses the +*tcar_printMessage* global function to print localized versions of the +string ``Hello, World!'' to standard output. Because there isn't no +other command in the function definition, when the greeting message is +printed out, *centos-art.sh* destroys the *hello* module and exit +successfully. This process is more visible when also pass the +*--debug* option. See <>. + +Summary +~~~~~~~ + +Congratulations! You've implemented a module environment inside +*centos-art.sh* script. With the information you have so far, you are +able to create your own module environment implementations. The next +section delves into available resources you can use to simplify module +environments when the initialization file starts growing inevitably +and complexity daemons begin hammering your head. + +[[module-optimization]] +Module Optimization +------------------- + +The *centos-art.sh* script provides four resources you can use to +optimize your module implementations. These resources are ``related +functions,'' ``child modules,'' ``sibling modules'' and ``recursive +modules''. + +[[related-functions]] +Related Functions +~~~~~~~~~~~~~~~~~ + +Related functions are very useful when you need to simplify the +function definition of one initialization file. For example, consider +extending the *hello* module so it is able to interpret arguments +passed through the command-line. Now, inside the initialization file, +we have some variable definitions, one function call to a module +related function named *hello_getOptions*, and a decision on how the +greeting message must be printed out based on the collected actions. +See <>. + +[[initialization-file-extended]] +.Initialization file used by hello module (extended) +====================================================================== +---------------------------------------------------------------------- +function hello { + + # Define default greeting message. + local HELLO_WORLD="`gettext "Hello, World!"`" + + # Define actions variable. Here is where actions related to + # module-specific options are stored in for further processing. + local ACTIONS='' + + # Interpret module-specific options and store related actions. + hello_getOptions + + # Print greeting message + if [[ -z ${ACTIONS} ]];then + # Using parent module. + tcar_printMessage "${HELLO_WORLD}" --as-stdout-line + else + # Using child module. + tcar_setModuleEnvironment -m 'output' -t 'child' + fi + +} +---------------------------------------------------------------------- +====================================================================== + +When you execute the command *centos-art.sh hello* with the +*--greeting=hi* argument, *centos-art.sh* stores module-specific +arguments inside the +TCAR_MODULE_ARGUMENT+ variable, creates a list +of all function definitions inside the module directory and exports +them. This includes the function definition of the initialization +file itself. Then *centos-art.sh* executes the function definition +set inside the initialization file and leaves all other function +definitions, already in memory, waiting for further execution. At this +point, the *hello* initialization function sets some default values +and execute the *hello_getOptions* function to parse all the arguments +passed through the command-line and redefines the +ACTIONS+ variable +based on them. Using the +ACTIONS+ variables it decides whether to +print the greeting message immediately or execute the child modules +named *output* so it decides what to do with the information collected +so far. + +<> defines the options you can pass to +*hello* module and the associated actions they must perform for each +of them. Actions aren't immediately executed here. Instead, they are +stored in the +ACTIONS+ variable for further processing (e.g., we +store the names of the modules we want to execute later). The ++ACTIONS+ variable was defined in the initialization file so it has a +global scope inside the module environment and is reachable from any +related function executed inside it. Storing the actions this way +lets the *hello* module to collect information about different actions +and execute them all in just one command. When all options have been +parsed, only non-option arguments remain in the +TCAR_MODULE_ARGUMENT+ +variable. + +[[hello_getOptions-definition]] +.Related function definition (hello_getOptions) +====================================================================== +---------------------------------------------------------------------- +function hello_getOptions { + + # Define short options we want to support. + local ARGSS="h::,v,g:,l,u,c,r" + + # Define long options we want to support. + local ARGSL="help::,version,greeting:,lower,upper,camel,random" + + # Redefine arguments using getopt(1) command parser. + tcar_setModuleArguments + + # Reset positional parameters on this function, using output + # produced from (getopt) arguments parser. + eval set -- "${TCAR_MODULE_ARGUMENT}" + + # Look for options passed through command-line. + while true; do + case "${1}" in + + -h | --help ) + tcar_printHelp "${2}" + ;; + + -v | --version ) + tcar_printVersion "${TCAR_MODULE_NAME}" + ;; + + -g | --greeting ) + HELLO_WORLD="${2:-${HELLO_WORLD}}" + shift 2 + ;; + + -l | --lower ) + ACTIONS="lower ${ACTIONS}" + shift 1 + ;; + + -u | --upper ) + ACTIONS="upper ${ACTIONS}" + shift 1 + ;; + + -c | --camel ) + ACTIONS="camel ${ACTIONS}" + shift 1 + ;; + + -r | --random ) + ACTIONS="random ${ACTIONS}" + shift 1 + ;; + + -- ) + shift 1 + break + ;; + esac + done + + # Redefine arguments using current positional parameters. Only + # paths should remain as arguments, at this point. + TCAR_MODULE_ARGUMENT="${@}" + +} +---------------------------------------------------------------------- +====================================================================== + +[IMPORTANT] +<> presents the standard construction we +use inside *centos-art.sh* script for parsing arguments passed through +the command-line in a per-module basis. As convention, all the parent +modules you write must be able to interpret the *--help* and +*--version* options using the construction described here. + +Related functions are very useful when you are refactoring the +initialization file of a module. However, they aren't so efficient +when you need to execute them at demand (e.g., based on specific +conditions). When a module is executed, related functions are exported +to *centos-art.sh* script execution environment. They remain there, +consuming memory, until the module they belong to is destroyed. If you +create a related function and never execute it, it will consume +memory, as well. So, use related functions when you are absolutely +sure they will be executed at some point, in one single iteration of +*centos-art.sh* script. If you need to execute functions at demand, +use child modules, instead. + +[[child-modules]] +Child Modules +~~~~~~~~~~~~~ + +Child modules are initiated by executing the +*tcar_setModuleEnvironment* function with the *-t child* option set on +it. Child modules have the characteristic of being nested modules. +They cannot be executed from the command-line. Normally, child modules +are executed from parent modules but they can be executed from other +child modules, too. When several child modules are executed in one +single iteration of *centos-art.sh*, they create a chain of modules. +A chain of modules is very useful in situations where you want to +divide one large task into smaller tasks and also control which of +these smaller tasks is executed based on specific conditions (e.g., +you may want to render images or documentation, but not both, in one +single iteration of *centos-art.sh* script). In a chain of modules, +lower modules in the chain (those started last) have access to +information set by modules higher in the chain (those started first), +but not the opposite. When processing information this way, modules +aren't destroyed until the last module executed in the chain has +finished its work (e.g., all the commands inside it have been +executed). At that point, child modules are destroyed in the reverse +order they were executed. + +For example, when you execute the *hello* module with both *--debug* +and *--upper* option, *centos-art.sh* script creates a chain of three +modules to produce the greeting message. Firstly, it begins by +executing the parent module named *hello*, then it continues with the +child module named *output* which in turn executes the child module +name *lower* to finally print the expected greeting message. In this +example, the module named *lower* is the last module in the chain of +executed modules. It has access to all information defined by earlier +modules (e.g., in *hello* and *output* modules) and none of its earlier +modules will be destroyed until it has finished its work. This process +becomes more visible when you take a look at <>. + +[[debug-child-modules]] +.Debugging execution of child modules +====================================================================== +---------------------------------------------------------------------- +Thu 10 Oct 2013 11:52:41 PM CDT =========================> [0] | main +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_BASEDIR Automation/Modules +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_NAME [0]=hello +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_TYPE parent +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_ARGUMENT --upper --greeting=hi +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_LIST hello|help|locale|prepare|render|tuneup|vcs +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Manuals +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Locales +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Configs +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/hello.sh +Thu 10 Oct 2013 11:52:41 PM CDT TEXTDOMAIN hello.sh +Thu 10 Oct 2013 11:52:41 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Locales +Thu 10 Oct 2013 11:52:41 PM CDT export -f hello +Thu 10 Oct 2013 11:52:41 PM CDT export -f hello_getOptions +Thu 10 Oct 2013 11:52:41 PM CDT -------------------------> hello --upper --greeting=hi +Thu 10 Oct 2013 11:52:41 PM CDT =========================> [1] | hello +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_NAME [1]=output +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_TYPE child +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_ARGUMENT +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_LIST output +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Manuals +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Locales +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Configs +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/output.sh +Thu 10 Oct 2013 11:52:41 PM CDT TEXTDOMAIN output.sh +Thu 10 Oct 2013 11:52:41 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Locales +Thu 10 Oct 2013 11:52:41 PM CDT export -f output +Thu 10 Oct 2013 11:52:41 PM CDT -------------------------> output +Thu 10 Oct 2013 11:52:41 PM CDT =========================> [2] | output +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules/Output/Modules +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_NAME [2]=upper +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_TYPE child +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_ARGUMENT +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_LIST camel|lower|random|upper +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output/Modules/Upper +Thu 10 Oct 2013 11:52:41 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules/Upper/Modules +Thu 10 Oct 2013 11:52:42 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Modules/Upper/Manuals +Thu 10 Oct 2013 11:52:42 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Modules/Upper/Locales +Thu 10 Oct 2013 11:52:42 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Modules/Upper/Configs +Thu 10 Oct 2013 11:52:42 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/Modules/Upper/upper.sh +Thu 10 Oct 2013 11:52:42 PM CDT TEXTDOMAIN upper.sh +Thu 10 Oct 2013 11:52:42 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Modules/Upper/Locales +Thu 10 Oct 2013 11:52:42 PM CDT export -f upper +Thu 10 Oct 2013 11:52:42 PM CDT -------------------------> upper +HI +Thu 10 Oct 2013 11:52:42 PM CDT <------------------------- upper +Thu 10 Oct 2013 11:52:42 PM CDT unset -f upper +Thu 10 Oct 2013 11:52:42 PM CDT <========================= [2] | output +Thu 10 Oct 2013 11:52:42 PM CDT <------------------------- output +Thu 10 Oct 2013 11:52:42 PM CDT unset -f output +Thu 10 Oct 2013 11:52:42 PM CDT <========================= [1] | hello +Thu 10 Oct 2013 11:52:42 PM CDT <------------------------- hello +Thu 10 Oct 2013 11:52:42 PM CDT unset -f hello +Thu 10 Oct 2013 11:52:42 PM CDT unset -f hello_getOptions +Thu 10 Oct 2013 11:52:42 PM CDT <========================= [0] | main +---------------------------------------------------------------------- +====================================================================== + +The module environment described in <> shows the +child modules' ability of reducing scope as they get deeper in the +chain of executed modules. However, child modules lack the possibility +of nest modules that share the same scope. For example, in the *hello* +module described above, you cannot execute the modules *lower* or +*upper* from *camel* module, as if they were child modules of it. +That is not possible because they all have the same scope, which is, +to print the greeting message to standard output. Child modules are +conceived to reduce the module scope as new child modules are +executed. When you need to execute new module environments and, also, +retain the last scope from which the new module is executed, you need +to use ``_sibling modules_,'' instead. + +[[sibling-modules]] +Sibling Modules +~~~~~~~~~~~~~~~ + +Sibling modules are initiated by executing the +*tcar_setModuleEnvironment* function with the *-t sibling* option set +on it. Sibling modules are another type of nested modules but, in +contrast with child modules, sibling modules cannot be executed from +parent modules. Normally, sibling modules are executed from other +sibling modules but, considering the context, they can be executed +from child module too, to initiate sibling processing. When several +siblings modules are executed, they also build a chain of modules. In +contrast with the chain of child modules, the chain of sibling modules +destroys the last sibling module executed before executing the next +sibling module. This make the chain to stop its growing at sibling +module processing, unless you call a child module from a sibling +module. In this case, the chain expansion would continue as long as +the number of child modules you execute. This process becomes more +visible when you take a look at <>. + +In <>, we've executed the *hello* module with +the *--greeting=hi*, *--camel*, and *--debug* options. In this +example, *centos-art.sh* script executes the *hello* module then the +*output* module which in turn executes the *camel* module. At this +point, can appreciate how the chain of modules stop growing. Observe +that *camel* module has gained the position 2 in the chain of modules +and executes the *upper* module which takes the position 3, as +expected. Now, when *upper* module finishes its work it is destroyed +and the module's counter is reset to its previous value which is 2 +(the one set by *camel* module). Then, *camel* executes the *lower* +module which take position 3 at the chain of modules until it +finishes. When it finishes, the *camel* module finishes its work and +is destroyed, then *output*, then *hello*. + +[[debug-sibling-modules]] +.Debugging execution of sibling modules +====================================================================== +---------------------------------------------------------------------- +Thu 10 Oct 2013 11:51:42 PM CDT =========================> [0] | main +Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_BASEDIR Automation/Modules +Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_NAME [0]=hello +Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_TYPE parent +Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_ARGUMENT --camel --greeting=hi +Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_LIST hello|help|locale|prepare|render|tuneup|vcs +Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello +Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules +Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Manuals +Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Locales +Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Configs +Thu 10 Oct 2013 11:51:42 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/hello.sh +Thu 10 Oct 2013 11:51:42 PM CDT TEXTDOMAIN hello.sh +Thu 10 Oct 2013 11:51:42 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Locales +Thu 10 Oct 2013 11:51:43 PM CDT export -f hello +Thu 10 Oct 2013 11:51:43 PM CDT export -f hello_getOptions +Thu 10 Oct 2013 11:51:43 PM CDT -------------------------> hello --camel --greeting=hi +Thu 10 Oct 2013 11:51:43 PM CDT =========================> [1] | hello +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_NAME [1]=output +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_TYPE child +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_ARGUMENT +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_LIST output +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Manuals +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Locales +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Configs +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/output.sh +Thu 10 Oct 2013 11:51:43 PM CDT TEXTDOMAIN output.sh +Thu 10 Oct 2013 11:51:43 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Locales +Thu 10 Oct 2013 11:51:43 PM CDT export -f output +Thu 10 Oct 2013 11:51:43 PM CDT -------------------------> output +Thu 10 Oct 2013 11:51:43 PM CDT =========================> [2] | output +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules/Output/Modules +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_NAME [2]=camel +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_TYPE child +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_ARGUMENT +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_LIST camel|lower|random|upper +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output/Modules/Camel +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules/Camel/Modules +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Modules/Camel/Manuals +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Modules/Camel/Locales +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Modules/Camel/Configs +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/Modules/Camel/camel.sh +Thu 10 Oct 2013 11:51:43 PM CDT TEXTDOMAIN camel.sh +Thu 10 Oct 2013 11:51:43 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Modules/Camel/Locales +Thu 10 Oct 2013 11:51:43 PM CDT export -f camel +Thu 10 Oct 2013 11:51:43 PM CDT -------------------------> camel +Thu 10 Oct 2013 11:51:43 PM CDT =========================> [3] | camel +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules/Output/Modules +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_NAME [3]=upper +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_TYPE sibling +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_ARGUMENT +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_LIST camel|lower|random|upper +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output/Modules/Upper +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules/Upper/Modules +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Modules/Upper/Manuals +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Modules/Upper/Locales +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Modules/Upper/Configs +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/Modules/Upper/upper.sh +Thu 10 Oct 2013 11:51:43 PM CDT TEXTDOMAIN upper.sh +Thu 10 Oct 2013 11:51:43 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Modules/Upper/Locales +Thu 10 Oct 2013 11:51:43 PM CDT export -f upper +Thu 10 Oct 2013 11:51:43 PM CDT -------------------------> upper +H +Thu 10 Oct 2013 11:51:43 PM CDT <------------------------- upper +Thu 10 Oct 2013 11:51:43 PM CDT unset -f upper +Thu 10 Oct 2013 11:51:43 PM CDT <========================= [3] | camel +Thu 10 Oct 2013 11:51:43 PM CDT =========================> [3] | camel +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules/Output/Modules +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_NAME [3]=lower +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_TYPE sibling +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_ARGUMENT +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_LIST camel|lower|random|upper +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output/Modules/Lower +Thu 10 Oct 2013 11:51:43 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules/Lower/Modules +Thu 10 Oct 2013 11:51:44 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Modules/Lower/Manuals +Thu 10 Oct 2013 11:51:44 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Modules/Lower/Locales +Thu 10 Oct 2013 11:51:44 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Modules/Lower/Configs +Thu 10 Oct 2013 11:51:44 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/Modules/Lower/lower.sh +Thu 10 Oct 2013 11:51:44 PM CDT TEXTDOMAIN lower.sh +Thu 10 Oct 2013 11:51:44 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Modules/Lower/Locales +Thu 10 Oct 2013 11:51:44 PM CDT export -f lower +Thu 10 Oct 2013 11:51:44 PM CDT -------------------------> lower +i +Thu 10 Oct 2013 11:51:44 PM CDT <------------------------- lower +Thu 10 Oct 2013 11:51:44 PM CDT unset -f lower +Thu 10 Oct 2013 11:51:44 PM CDT <========================= [3] | camel +Thu 10 Oct 2013 11:51:44 PM CDT <------------------------- camel +Thu 10 Oct 2013 11:51:44 PM CDT unset -f camel +Thu 10 Oct 2013 11:51:44 PM CDT <========================= [2] | output +Thu 10 Oct 2013 11:51:44 PM CDT <------------------------- output +Thu 10 Oct 2013 11:51:44 PM CDT unset -f output +Thu 10 Oct 2013 11:51:44 PM CDT <========================= [1] | hello +Thu 10 Oct 2013 11:51:44 PM CDT <------------------------- hello +Thu 10 Oct 2013 11:51:44 PM CDT unset -f hello +Thu 10 Oct 2013 11:51:44 PM CDT unset -f hello_getOptions +Thu 10 Oct 2013 11:51:44 PM CDT <========================= [0] | main +---------------------------------------------------------------------- +====================================================================== + +<> shows a single iteration of *centos-art.sh* +script executing different types of modules. Normally, one module is +executed at some point and destroyed at the same point when it has +finished its work, however, what if the next immediate module you are +about to execute is the same module you are about to destroyed? This +is, you need to execute the last module in the chain of executed +modules again, but, this time, from itself. In cases like this, the +*centos-art.sh* script doesn't destroy the last module. It cannot, +because you are certainly executing a new module from itself, so it +has to wait for this new call to finish in order to be destroyed. This +kind of processing is known as _processing modules recursively._ + +[[recursive-modules]] +Recursive Modules +~~~~~~~~~~~~~~~~~ + +When one module environment executes itself we are in presence of a +recursive module execution. The execution of modules recursively +doesn't destroy the last module in the chain of executed modules and +doesn't increment or decrement the module counter either. The module +counter is somehow frozen until a different module environment is +executed. In these cases, the last module environment remains in +memory for the new module execution to make use of. This process +becomes more visible when you take a look at +<>. + +[CAUTION] +When you execute modules recursively, you should be very careful not +to get trapped into an endless loop. + +In <>, we've executed the *hello* module with +the *--greeting=hello*, *--random*, and *--debug* options. In this +example, *centos-art.sh* script executes a parent module named *hello* +which in turn executes a child module named *output* which in turn +executes a child module named *random*. At this point, the *random* +modules executes itself five times (the number of characters passed as +value to greeting option) to print out random letters from the +greeting message. The output may have no much sense on itself but the +related debugging information helps to understand the execution of +modules recursively. + +[[debug-recursive-modules]] +.Processing execution of modules recursively +====================================================================== +---------------------------------------------------------------------- +Thu 10 Oct 2013 11:50:03 PM CDT =========================> [0] | main +Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_BASEDIR Automation/Modules +Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_NAME [0]=hello +Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_TYPE parent +Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_ARGUMENT --random --greeting=Hello +Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_LIST hello|help|locale|prepare|render|tuneup|vcs +Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello +Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules +Thu 10 Oct 2013 11:50:03 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Manuals +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Locales +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Configs +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/hello.sh +Thu 10 Oct 2013 11:50:04 PM CDT TEXTDOMAIN hello.sh +Thu 10 Oct 2013 11:50:04 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Locales +Thu 10 Oct 2013 11:50:04 PM CDT export -f hello +Thu 10 Oct 2013 11:50:04 PM CDT export -f hello_getOptions +Thu 10 Oct 2013 11:50:04 PM CDT -------------------------> hello --random --greeting=Hello +Thu 10 Oct 2013 11:50:04 PM CDT =========================> [1] | hello +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_NAME [1]=output +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_TYPE child +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_ARGUMENT +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_LIST output +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Manuals +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Locales +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Configs +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/output.sh +Thu 10 Oct 2013 11:50:04 PM CDT TEXTDOMAIN output.sh +Thu 10 Oct 2013 11:50:04 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Locales +Thu 10 Oct 2013 11:50:04 PM CDT export -f output +Thu 10 Oct 2013 11:50:04 PM CDT -------------------------> output +Thu 10 Oct 2013 11:50:04 PM CDT =========================> [2] | output +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_BASEDIR Automation/Modules/Hello/Modules/Output/Modules +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_NAME [2]=random +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_TYPE child +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_ARGUMENT +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_LIST camel|lower|random|upper +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR Automation/Modules/Hello/Modules/Output/Modules/Random +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_MODULES Automation/Modules/Hello/Modules/Output/Modules/Random/Modules +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_MANUALS Automation/Modules/Hello/Modules/Output/Modules/Random/Manuals +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_LOCALES Automation/Modules/Hello/Modules/Output/Modules/Random/Locales +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_DIR_CONFIGS Automation/Modules/Hello/Modules/Output/Modules/Random/Configs +Thu 10 Oct 2013 11:50:04 PM CDT TCAR_MODULE_INIT_FILE Automation/Modules/Hello/Modules/Output/Modules/Random/random.sh +Thu 10 Oct 2013 11:50:04 PM CDT TEXTDOMAIN random.sh +Thu 10 Oct 2013 11:50:04 PM CDT TEXTDOMAINDIR Automation/Modules/Hello/Modules/Output/Modules/Random/Locales +Thu 10 Oct 2013 11:50:04 PM CDT export -f random +Thu 10 Oct 2013 11:50:04 PM CDT -------------------------> random +H +Thu 10 Oct 2013 11:50:04 PM CDT ~~~~~~~~~~~~~~~~~~~~~~~~~> random +H +Thu 10 Oct 2013 11:50:04 PM CDT ~~~~~~~~~~~~~~~~~~~~~~~~~> random +l +Thu 10 Oct 2013 11:50:04 PM CDT ~~~~~~~~~~~~~~~~~~~~~~~~~> random +l +Thu 10 Oct 2013 11:50:04 PM CDT ~~~~~~~~~~~~~~~~~~~~~~~~~> random +H +Thu 10 Oct 2013 11:50:04 PM CDT <------------------------- random +Thu 10 Oct 2013 11:50:04 PM CDT unset -f random +Thu 10 Oct 2013 11:50:04 PM CDT <========================= [2] | output +Thu 10 Oct 2013 11:50:04 PM CDT <------------------------- output +Thu 10 Oct 2013 11:50:05 PM CDT unset -f output +Thu 10 Oct 2013 11:50:05 PM CDT <========================= [1] | hello +Thu 10 Oct 2013 11:50:05 PM CDT <------------------------- hello +Thu 10 Oct 2013 11:50:05 PM CDT unset -f hello +Thu 10 Oct 2013 11:50:05 PM CDT unset -f hello_getOptions +Thu 10 Oct 2013 11:50:05 PM CDT <========================= [0] | main +---------------------------------------------------------------------- +====================================================================== + +Recursive execution of modules occurs only when the module you are +executing is considered sibling of the last module executed in the +chain of executed modules and they both have the same name. The fact +that no variable name is printed out in <> +means that they were not created. The arrows change from +->+ to +~>+, +means that module's related functions weren't exported for the new +module execution either. It also means that the initialization script +is reusing both related functions and variables from the last module +environment in the chain of executed modules. In this case the +*random* module. + +Summary +~~~~~~~ + +This section covered the resources you can use to optimize module +environments inside *centos-art.sh* script. The next section +summarizes the base files and directories you might find inside one +module environment. + +[[module-structure]] +Module Structure +---------------- + +The module structure takes place at the root location of +*centos-art.sh* script, specifically, in a directory named +Modules+. +The +Modules+ directory at *centos-art.sh* root location is the +highest level which you can store modules in. Modules stored in this +location are known as parent modules. Parent modules can optimize +their structure by using related functions, child modules, sibling +modules and recursive modules. Basically, all these types of modules +share the same structure. They all have function files and, +optionally, module related stuff like locales, documentation, +configuration and dependent modules. See <>. + +[IMPORTANT] +From version 0.7 on, child modules no longer have +Locales+, +Manuals+ +and +Configs+ directories inside. Only initialization files, related +functions and +Modules+ directory are supported inside child modules. +See https://centos.org.cu/bugs/view.php?id=114[Bug 114]. + +[[module-directory-layout]] +.The directory structure of hello module +====================================================================== +---------------------------------------------------------------------- +. +|-- COPYING +|-- Locales/ +|-- Manuals/ +|-- Modules/ +| `-- Hello/ <1> +| |-- Locales +| | |-- es_ES +| | | |-- LC_MESSAGES +| | | | `-- hello.sh.mo <2> +| | | `-- hello.sh.po +| | `-- hello.sh.pot +| |-- Manuals +| | |-- hello.asciidoc +| | |-- man1 +| | | `-- hello.1 <3> +| | `-- render.conf <4> +| |-- Modules +| | `-- Output <5> +| | |-- Modules +| | | |-- Camel +| | | | `-- camel.sh +| | | |-- Lower <6> +| | | | `-- lower.sh <7> +| | | |-- Random +| | | | `-- random.sh +| | | `-- Upper +| | | `-- upper.sh +| | `-- output.sh <8> +| |-- hello.sh <9> +| `-- hello_getOptions.sh <10> +|-- Scripts/ +|-- centos-art.conf.sh +`-- centos-art.sh +---------------------------------------------------------------------- + +<1> Child module of *centos-art.sh* script and parent module of +*output* module. +<2> Spanish translated strings of *hello* module. +<3> Manpage shown when you request help of *hello* module. +<4> Configuration file used to produce the manpage of *hello* module. +<5> Child module of *hello* module and parent module of *camel,* +*lower,* *random* and *upper* modules. +<6> Child module of *output* module and sibling module of *camel,* +*random* and *upper* module. +<7> Initialization file of *lower* module. +<8> Initialization file of *output* module. +<9> Initialization file of *hello* module. +<10> Function file related to *hello* module. +====================================================================== + +<> presents a complete structure for module +environments you can use as reference for writing your own modules. It +begins with a parent module directory named ``Hello'' which contains +an initialization file (``hello.sh'') and one related function file +(``hello_getOptions.sh''). These files work together with a child +module named *output* which in turn has four child modules inside +named *camel,* *lower,* *random,* and *upper.* The +Locales+ directory +contains the required information to print *hello* messages in +different languages (e.g., it only supports Spanish language in our +example, but it can be extended to other languages as needed). The ++Manuals+ directory contains all the files required to produce +documentation for the *hello* module (e.g., the information you read +when provide the *--help* option in the command-line). + +The Function Files +~~~~~~~~~~~~~~~~~~ + +The function files are used to create the initialization file of a +module and the related functions of it. As convention, both +initialization file and related function files are stored in the +module's directory, see <>. + +At execution time, the definition of related function are exported to +*centos-art.sh* execution environment before executing the function +definition set inside the initialization file, so related functions +are always available for you to use in the initialization file file +and other related functions as well. This is rather useful when you +are refactoring your initialization scripts and probably related +functions as well. + +As naming convention, related function files are written using the +module's name, then an underscore (``_''), then a descriptive name +and, finally, the ``+.sh+'' extension. The function definition inside +the function file also follows this convention but excludes the +``+.sh+'' extension from name (e.g., the function file +``+hello_getOptions.sh+'' has a function definition named +``+hello_getOptions+'' inside). The *centos-art.sh* script relays in +these conventions to export and destroy related functions when new +module environments are created and destroyed. If you create related +function files with a pattern different from that described here, they +will not be executed nor available inside the initialization file of +the module environment being currently executed. + +See also: <> and <>. + +[[module-directory-modules]] +The +Modules+ Directory +~~~~~~~~~~~~~~~~~~~~~~~ + +This directory contains nested modules (e.g., child modules) and is +used for extending the current module functionality in a modular way. +There isn't a visible limitation in the number of +Modules+ directory +you can nest inside one module to achieve certain functionality so, +you can create as many levels of +Modules+ directories as you need. + +[[module-directory-locales]] +The +Locales+ Directory +~~~~~~~~~~~~~~~~~~~~~~~ + +This directory contains module-specific localization files. The +content of this directory is automatically generated by *locale* +module of *centos-art.sh* script, when you execute it using the +initialization file as source and the *--update --sibling* options. +Once the localization files have been created, you need to edit PO +files to translate the strings from English to your preferred +language. If the translatable strings inside the module's source +files change, you need to run the *locale* module again to update the +PO files and repeat the localization process all over again. + +[[module-directory-manuals]] +The +Manuals+ Directory +~~~~~~~~~~~~~~~~~~~~~~~ + +This directory contains module-specific documentation. Documentation +in this directory is written in asciidoc format and produced through +the *render* module of *centos-art.sh* script to different formats, +including man pages and html. + +[[module-directory-configs]] +The +Configs+ Directory +~~~~~~~~~~~~~~~~~~~~~~~ + +This directory contains module-specific configuration. Some modules +(e.g., ``tuneup'') need to store auxiliary files required to achieve +its main goal (e.g., the ``tuneup'' module uses sed files to transform +the top-comment of scripts each time it is executed, the sed file +itself is stored in this directory). Whenever you need to make +reference to a file inside this directory, use the +``TCAR_MODULE_DIR_CONFIGS'' variable. This variable provides the +absolute path of module-related configuration file. + +Summary +~~~~~~~ + +This section has covered the directories and files a module is made of +inside the *centos-art.sh* script. + +// vim: set syntax=asciidoc: