[CentOS-devel] Update centos-art.sh script

Sun Jun 2 00:15:09 UTC 2013
Alain Reguera Delgado <alain.reguera at gmail.com>

Hi,

The centos-art.sh script was updated. This script is the tool we use to 
automate most frequent tasks inside The CentOS Artwork Repository. 
Relevant changes committed to the central repository include:

* Improve rendition of logo images by using rendition configuration 
files instead of a SVG file.

Previous to this update, the centos-art.sh script used a SVG file as 
model to produce the related PNG images in different formats and sizes. 
Combining both the CentOS symbol and the CentOS Type in a SVG file might 
introduce design mistakes that we want to avoid.

In this commit, we remove the SVG file used to build logos and set a 
configuration file. This configuration file sets each component the 
CentOS logo is made of and using ImageMagick tools it combines the 
related PNG images with great precision, so we can grantee logos will 
always have the correct dimensions and proportions, based on their 
components. The configuration file also allows you to customize the 
image heights, formats, foreground and background colors for each image 
you want to produce (something previously done inside centos-art.sh 
script). To see how this file looks like, you can take a look at 
https://projects.centos.org/svn/artwork/trunk/Identity/Models/Brands/Logos/images.conf

* Add Git support for version control tasks.

Previous to this commit only Subversion tasks were supported inside 
centos-art.sh script.

In this commit, you can migrate the Subversion repository into a Git 
repository and perform the same version control tasks you did with 
Subversion, considering the differences between each system, of course. 
For example, if you execute the following command:

centos-art locale --update Locales/Scripts/Bash --synchronize

the centos-art.sh script will try to update the locale files related to 
centos-art.sh script and synchronize the local changes in the path 
provided (e.g., Locales/Scripts/Bash/) with the central repository, no 
matter if you are using Subversion or Git infrastructure.

Notice that path arguments passed to centos-art.sh script don't include 
the trunk/ part on them, even when you are referring them in a 
trunk-branches-tags Subversion repository layout. This is something we 
did for compatibility reasons between Subversion repositories using a 
conventional trunk-branches-tags layout and Git repository layout that 
don't use them.

By default, centos-art.sh script uses Subversion to perfrom version 
control tasks, however if you are trying The CentOS Artwork Repository 
in a Git repository, you can edit the centos-art.conf file and change 
the package variable from `subversion' to `git' in order to perform 
version control tasks using Git instead.

Notice that centos-art.sh script implements Git version control tasks in 
order to migrate The CentOS Artwork Repository from a Subversion 
infrastructure to a Git infrastructure, progressively. Presently, 
Subversion is the official infrastructure and the one we use to share 
changes. You can test The CentOS Artwork Repository in your own Git 
infrastructure, but if you want to share changes, please, do it through 
Subversion infrastructure at: https://projects.centos.org/svn/artwork/.

* Re-organize directory structures related to documentation manuals 
written in Texinfo format as illustrated in the following two figures:

Figure 1. Texinfo documentation structure

Documentation/Models/Texinfo/${MANUAL_NAME}
`-- ${LANG}
     |-- ${CHAPTER_NAME}/
     |   `-- ${SECTION_NAME}.texinfo
     |-- ${CHAPTER_NAME}-menu.texinfo
     |-- ${CHAPTER_NAME}-nodes.texinfo
     |-- ${CHAPTER_NAME}.texinfo
     |-- Licenses -> 
${TCAR_WORKDIR}/Documentation/Models/Texinfo/Default/${LANG}/Licenses
     |-- Licenses-menu.texinfo -> 
${TCAR_WORKDIR}/Documentation/Models/Texinfo/Default/${LANG}/Licenses-menu.texinfo
     |-- Licenses-nodes.texinfo -> 
${TCAR_WORKDIR}/Documentation/Models/Texinfo/Default/${LANG}/Licenses-nodes.texinfo
     |-- Licenses.texinfo -> 
${TCAR_WORKDIR}/Documentation/Models/Texinfo/Default/${LANG}/Licenses.texinfo
     |-- ${MANUAL_NAME}.conf
     |-- ${MANUAL_NAME}-index.texinfo
     |-- ${MANUAL_NAME}-menu.texinfo
     |-- ${MANUAL_NAME}-nodes.texinfo
     `-- ${MANUAL_NAME}.texinfo

Figure 2. Template for texinfo document structures

Documentation/Models/Texinfo/Default/
|-- ${LANG}/
|   |-- Chapters/
|   |   |-- section.texinfo
|   |   `-- section-functions.texinfo
|   |-- Chapters-menu.texinfo
|   |-- Chapters-nodes.texinfo
|   |-- Chapters.texinfo
|   |-- Licenses/
|   |   |-- GFDL.texinfo
|   |   `-- GPL.texinfo
|   |-- Licenses-menu.texinfo
|   |-- Licenses-nodes.texinfo
|   |-- Licenses.texinfo
|   |-- manual-index.texinfo
|   |-- manual-init.pl
|   |-- manual-menu.texinfo
|   |-- manual-nodes.texinfo
|   |-- manual.conf
|   |-- manual.sed
|   `-- manual.texinfo
|-- manual-init.pl
`-- manual.sed

The details of all these and minor changes not shown here are available at:
https://projects.centos.org/trac/artwork/timeline

All suggestions and comments are very welcome. You can send e-mails to 
this list or fill tickets at 
https://projects.centos.org/trac/artwork/newticket.

Best regards,
-- 
Alain Reguera Delgado <alain.reguera at gmail.com>