Automated Builder

From LinuxMCE
Revision as of 08:31, 25 September 2006 by Wikiadmin (Talk | contribs)

(diff) ←Older revision | view current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search
This page was written by Pluto and imported with their permission when LinuxMCE branched off in February, 2007. In general any information should apply to LinuxMCE. However, this page should be edited to reflect changes to LinuxMCE and remove old references to Pluto.
trunk/src/MakeRelease is the C++ program Pluto wrote to automatically compile and package everything in Pluto. It is called by MakeScript.sh which handles doing a clean checkout, etc. Pluto’s automated builder creates a new debug version every night.


Before running the MakeRelease, a utility called MakeRelease_PrepFiles is run. This makes changes to the source files before compiling based on what target is being built (ie the open source version, a commercial distro, etc.). It scans the files looking for tags that start with: <-mkr. It is run with a reference to a conf file that contains tags. The contents of the conf file will be like this


psc_restrict = 7,8

name_upper = PLUTO

name_lower = pluto

name_mixed = Pluto

blocks = pluto,common


The tags: psc_restrict and blocks are special. All database records not in that psc_restrict are removed. And blocks contains names for blocks of code. The other entries are tags, which are substituted. Examples:


<-mkr_b_blockname_b->

something

<-mkr_b_blockname_e->


“b” is the type, meaning block, referring to the blocks in the blocks = in the conf file. This means the code in between (ie “something”) should only be included if blockname is in the list in the blocks = line. “B” is the inverse:


<-mkr_B_blockname_b-> something <-mkr_B_blockname_e-> means something is included only if blockname is *not* in the list.


<-mkr_t_tagname-> are general tags. They will be substituted with the tagname in the conf file. In this example: <-mkr_t_name_upper-> will be replaced with “PLUTO”.