| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| <HTML> |
| <head> |
| <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1"> |
| <TITLE></TITLE> |
| <META NAME="GENERATOR" CONTENT="StarOffice 8 (Solaris Sparc)"> |
| <META NAME="AUTHOR" CONTENT="Ingo Schmidt"> |
| <META NAME="CREATED" CONTENT="20020419;13085671"> |
| <META NAME="CHANGED" CONTENT="20070730;16142900"> |
| </head> |
| <body LANG="de-DE" DIR="LTR"> |
| <P ALIGN=LEFT STYLE="font-weight: medium"><FONT FACE="Verdana, sans-serif"><FONT SIZE=6>Understanding |
| the scp2 project</FONT></FONT></P> |
| <P><BR><BR> |
| </P> |
| <P><FONT FACE="Verdana, sans-serif"><B>What are scp files?</B></FONT></P> |
| <P><FONT FACE="Verdana, sans-serif">scp is the abbreviation for |
| <B>script particle</B>. Every scp file is a small part of the <B>setup |
| script</B>, which can be found in the installation set next to the |
| setup. The setup script contains the information about the |
| installation of OpenOffice.org. Every script particle contains a |
| little information, for example about the kde integration, or the |
| readme files or entries for the Windows registry. You will see, there |
| are many, many different scp files for many different applications.</FONT></P> |
| <P><BR><BR> |
| </P> |
| <P><FONT FACE="Verdana, sans-serif"><B>When do I have to make changes |
| in the scp2 project?</B></FONT></P> |
| <P><FONT FACE="Verdana, sans-serif">Changes in the scp2 project are |
| necessary, if the installation of OpenOffice.org has to be changed. |
| This can include a new file, or an additional entry into the windows |
| registry. Anything that is done by the setup, has to be available in |
| the setup script. Every file and every entry into the Windows |
| registry is written in the setup script in this special setup script |
| language. In detail the setup script can contain the following |
| information: </FONT> |
| </P> |
| <P><FONT FACE="Verdana, sans-serif"><I><B>Setup Modules</B></I>, |
| <I><B>Files</B></I>, <I><B>Directories</B></I>, <I><B>Profiles</B></I> |
| (ini-files), <I><B>ProfileItems</B></I> (entries into ini-files), |
| <I><B>RegistryItems</B></I> (entries into the Windows registry), |
| <I><B>Folder</B></I> and <I><B>FolderItems</B></I> (Directories and |
| Links in the Windows system directories), <I><B>ShortCuts</B></I> |
| (Links to defined files or other Shortcuts), <I><B>UnixLinks</B></I> |
| (Links to any location in the system), <I><B>WindowsCustomActions</B></I> |
| (Windows Installer specific actions), <I><B>ScpActions</B></I> |
| (copying files from the output tree into the installation set (only |
| for the ZipDirector and lzip)) and <I><B>Installation</B></I> (for |
| global installation parameters). </FONT> |
| </P> |
| <P><BR><BR> |
| </P> |
| <P><FONT FACE="Verdana, sans-serif"><B>How do we build the setup |
| script?</B></FONT></P> |
| <P><FONT FACE="Verdana, sans-serif">The setup script is made of the |
| script particle. These particle contain information about the |
| languages, the platform, the different products etc. Therefore the |
| scp files are first of all edited by a preprocessor, who gets the |
| necessary parameter. Then the program pre2par.pl prepares the files |
| for the linker par2script.pl. The results of pre2par.pl are par-files |
| (same filename, but extension .par), which you can find in the output |
| tree in the par directory.</FONT></P> |
| <P><FONT FACE="Verdana, sans-serif">Which par files for which |
| products and which platforms have to be built, is determined in the |
| makefile.mk in the local source directories of the different scp |
| projects. After creating the par files, the linker links all |
| necessary par files to the different setup scripts. Which par files |
| are needed for which platform and which product is described in the |
| makefile.mk in the util directory of the different scp projects.</FONT></P> |
| <P><FONT FACE="Verdana, sans-serif">The resulting setup script still |
| contains all information for the different languages we support, but |
| is specified for one product and one platform. Therefore in the last |
| step of creating installation sets the scpzip packs all files which |
| are mentioned in the setup script, writes this information into the |
| script and changes the script corresponding to the desired language. </FONT> |
| </P> |
| <P><BR><BR> |
| </P> |
| <P><FONT FACE="Verdana, sans-serif"><B>Which scp projects exist?</B></FONT></P> |
| <P><FONT FACE="Verdana, sans-serif">Currently the project containing |
| scp files is named <B>scp2</B>.</FONT></P> |
| <P><BR><BR> |
| </P> |
| <P><FONT FACE="Verdana, sans-serif"><B>Last changes in the scp |
| structure</B></FONT></P> |
| <P><FONT FACE="Verdana, sans-serif"> |
| Caused by the strict separation of language dependent files and language |
| independent files and by the increased number of supported languages for |
| OpenOffice.org, a new mechanism was required, to generate modules with language |
| specific files automatically. In this context a new concept with sct-files |
| and modules with flag TEMPLATEMODULE was introduced into src680m242. |
| sct is the abbreviation for script template files. |
| </FONT> |
| </P> |
| <P><FONT FACE="Verdana, sans-serif"> |
| During the scp build process, Perl programs expand the content of the sct files |
| to content that would normally be defined in scp files. But the Perl programs |
| "know" the supported languages and are therefore able to create a huge number |
| of scp modules automatically. |
| </FONT> |
| </P> |
| <P><FONT FACE="Verdana, sans-serif"> |
| The assignment of "Files", "Dirs" or other items can be achieved by using |
| template modules, that are not used to define "real" modules, but only |
| assignments to modules. This template modules require the flag |
| TEMPLATEMODULE. This modules can be included from every non template |
| module using the key "Assigns=...". Please find more information |
| <A HREF="scpitem_templatemodule.html">here</A>. |
| </FONT> |
| </P> |
| <P><FONT FACE="Verdana, sans-serif"> </FONT> |
| </P> |
| <P><BR><BR> |
| </P> |
| <P><BR><BR> |
| </P> |
| </body> |
| </HTML> |