# HG changeset patch # User Shabe Razvi # Date 1274092270 -3600 # Node ID 1aa526b5b90bd636b8e2ed3104365666b9a6c6e5 # Parent 58a997e8d91dae211d5183130b8bd75e74c0f38b Update and simplify PDK_Helium job for latest PDK updates diff -r 58a997e8d91d -r 1aa526b5b90b PDK_Helium/config.xml --- a/PDK_Helium/config.xml Wed Mar 17 10:13:00 2010 +0000 +++ b/PDK_Helium/config.xml Mon May 17 11:31:10 2010 +0100 @@ -2,7 +2,7 @@ <h3>Description</h3> -<li>This project will rebuild the Symbian^2 and Symbian^3 Platform from source using a Bill Of Materials that can either be downloaded from the <a href="http://developer.symbian.org/main/tools_and_kits/">kits page</a> or from within the job itself. +<li>This project will rebuild the Symbian^3 Platform from source using a Bill Of Materials that can either be downloaded from the <a href="http://developer.symbian.org/main/tools_and_kits/">kits page</a> or from within the job itself. <li>It encapsulates the steps as defined in the <a href="http://developer.symbian.org/wiki/index.php/How_to_perform_a_platform_build_of_PDK_3.0.b_using_helium"/>manual build process </a>for Helium and is a simple way to start building using the Foundation Build Framework. <br><br> The Foundation Build Framework (FBF) is an Apache ANT-like configuration that can be used with the Helium tool, delivered in the <a href="https://developer.symbian.org/main/tools_and_kits/downloads/view.php?id=4"/>PDT</a>. @@ -13,20 +13,20 @@ <h3>Additional Information</h3> Source for the FBF can be downloaded from the following Mercurial Repositories - <br> -<li>FBF Configuration - <a href="https://developer.symbian.org/oss/FCL/interim/fbf/configs/default/"/>https://developer.symbian.org/oss/FCL/interim/fbf/configs/default/</a> -<li>FBF Platform Project - <a href="https://developer.symbian.org/oss/FCL/interim/fbf/projects/platforms"/>https://developer.symbian.org/oss/FCL/interim/fbf/projects/platforms</a> -<li>FBF Bootstrap - <a href="https://developer.symbian.org/oss/FCL/interim/fbf/bootstrap"/>https://developer.symbian.org/oss/FCL/interim/fbf/bootstrap</a> +<li>FBF Configuration - <a href="http://developer.symbian.org/oss/MCL/sftools/fbf/configs/default"/>http://developer.symbian.org/oss/MCL/sftools/fbf/configs/default/</a> +<li>FBF Platform Project - <a href="http://developer.symbian.org/oss/MCL/sftools/fbf/projects/platforms"/>http://developer.symbian.org/oss/MCL/sftools/fbf/projects/platforms</a> +<li>FBF Bootstrap - <a href="http://developer.symbian.org/oss/MCL/sftools/fbf/bootstrap"/>http://developer.symbian.org/oss/MCL/sftools/fbf/bootstrap</a> false - - false - BUILD_DRIVE - Physical Build Drive + Physical Build Drive to perform the build on. Please ensure that there is - +<br> +<li>50gb free if you're building 1 target, e.g. winscw debug +<li>150gb free if you're building all 4 targets e.g. armv5 + winscw debug + release C: @@ -34,34 +34,39 @@ Subst'd EPOC drive M: - - KIT_VERSION - Version of the kit to download. e.g. -<li>2.0.2 -<li>3.0.h - - DOWNLOAD_KIT This will download the Bill of Materials (BOM), tools and prebuilt binaries from the web. Select if - +<br> <li>You havnt downloaded these archives already <li>You're not sure if you have the correct archives false + KIT_VERSION + Version of the BOM to download. e.g. +<li>2.0.2 +<li>3.0.h +<br> +<b>Mandatory</b> if downloading the BOM from the web. + + + RELEASE_ZIP_LOCATION Location of <a href="http://developer.symbian.org/main/tools_and_kits/">release zipfiles</a> e.g. <li>build_BOM.zip <li>tools_epoc.zip - +<br> +If downloading the kit from the web, then this is the <b>target directory</b> and can be reused again later<br> +If building a BOM that you have already downloaded, then this is the <b>existing location</b> of that build_BOM.zip etc. SRC_LOCATION How to get source for building the Platform - -<li>BOM - download source direct from <a href="https://developer.symbian.org/oss">web</a> using downloaded Bill Of Materials -<li>ZIPFILES - unpack source zips such as src_oss_os.zip from specified location on disk +<li>BOM - download source direct from <a href="https://developer.symbian.org/oss">web</a> as described in downloaded Bill Of Materials +<li>ZIPFILES - unpack source zips such as src_oss_os.zip from specified (RELEASE_ZIP_LOCATION) location on disk. If selecting DOWNLOAD_KIT option, then it will unpack the source zips that have just been downloaded. BOM @@ -71,16 +76,8 @@ REBUILD_TOOLS - Tick this if you want to rebuild "TOOLS" target as well -<li> Requires comercial VC++ 6.0 installed plus - -<li> Requires binaries_epoc32_stlport.zip from <a href="http://developer.symbian.org/main/tools_and_kits/">release zipfiles</a> - false - - - SPLIT_BUILD - Is the baseline run in two distinct steps (GT+S60)? Tick this if - -<li> Building older Symbian^2 PDKs. e.g. 2.0.d or earlier. -<li> Building older Symbian^3 PDKs. e.g. 3.0.f or earlier + Tick this if you want to rebuild "TOOLS" +<li> Requires comercial VC++ 6.0 installed false @@ -126,34 +123,17 @@ <li>armv5.whatlog,winscw.whatlog winscw_udeb.whatlog - + FBF_REV The tagged version of the FBF (Helium) to use to build the Platform. <li>default - is the latest revision from the web +<li>PDK_3.0.h - for 3.0.h revision etc. <br><br> -<i>Unless you want a specific revision, its recommended to use the 'default' revision of the FBF</i> - - - - default - PDK_2.0.2 - PDK_2.0.1 - PDK_2.0.0 - PDK_3.0.h - PDK_3.0.g - PDK_3.0.f - PDK_3.0.e - PDK_3.0.d - PDK_3.0.c - PDK_3.0.b - PDK_3.0.a - - - +<i>Unless you want a specific revision, its recommended to use the 'default' revision of the FBF</i> + default + - - true @@ -175,18 +155,18 @@ mkdir %RELEASE_ZIP_LOCATION% cd /d %RELEASE_ZIP_LOCATION% @ECHO ON -C:\Symbian\utilities\downloadkit\downloadkit.py --nounzip --nowinscw --noarmv5 --progress %DO_SRC_DOWNLOAD% %KIT_VERSION% --username=%HG_USERNAME% --password=%HG_PASSWORD% +C:\Symbian\utilities\downloadkit\downloadkit.py --nounzip --nowinscw --noarmv5 --progress %DO_SRC_DOWNLOAD% %KIT_VERSION% --username=%HG_USERNAME% --password=%HG_PASSWORD% exit 0 %BUILD_DRIVE% cd\ -rmdir /q/s sf-bootstrap -mkdir sf-bootstrap -cd sf-bootstrap -hg clone http://developer.symbian.org/oss/FCL/interim/fbf/bootstrap +mkdir %TMP%\sf-bootstrap.%BUILD_NUMBER% +cd /d %TMP%\sf-bootstrap.%BUILD_NUMBER% +hg clone http://developer.symbian.org/oss/MCL/sftools/fbf/bootstrap cd bootstrap -hlm -f bootstrap.xml -Dsf.project.repo=http://developer.symbian.org/oss/FCL/interim/fbf/projects/platforms -Dsf.config.repo=http://developer.symbian.org/oss/FCL/interim/fbf/configs/default -Dsf.target.dir=%BUILD_DRIVE%\maintools_%JOB_NAME%.%BUILD_NUMBER% -Dsf.config.rev=%FBF_REV% -Dsf.project.rev=%FBF_REV% +hlm -f bootstrap.xml -Dsf.project.repo=http://developer.symbian.org/oss/MCL/sftools/fbf/projects/platforms -Dsf.config.repo=http://developer.symbian.org/oss/MCL/sftools/fbf/configs/default -Dsf.target.dir=%BUILD_DRIVE%\maintools_%JOB_NAME%.%BUILD_NUMBER% -Dsf.config.rev=%FBF_REV% -Dsf.project.rev=%FBF_REV% +rd %TMP%\sf-bootstrap.%BUILD_NUMBER% /q/s %BUILD_DRIVE% @@ -195,18 +175,20 @@ set PROJECT=single set TOOLS_BASELINE_ENABLE=true set TOOLS_CONFIG=tools_rel.whatlog,tools2_rel.whatlog -IF %SPLIT_BUILD% == true set PROJECT=split IF %REBUILD_TOOLS% == true set TOOLS_BASELINE_ENABLE=false IF %REBUILD_TOOLS% == false set TOOLS_CONFIG=tools2_rel.whatlog cd %BUILD_DRIVE%\maintools_%JOB_NAME%.%BUILD_NUMBER%\sf-config -hlm sf-prep -Dbuild.drive=%SUBST_DRIVE% -Dsf.spec.job.number=%JOB_NAME%.%BUILD_NUMBER% -Dsf.spec.job.codeline="%SRC_LOCATION%" -Dsf.project.location=%BUILD_DRIVE%\maintools_%JOB_NAME%.%BUILD_NUMBER%\build\config\%PLATFORM%\%PROJECT% -Dsf.spec.splitbuild=%SPLIT_BUILD% -Dsf.spec.sbs.config="%TARGET%" -Dsf.spec.baseline.enable=%TOOLS_BASELINE_ENABLE% -Dsf.spec.sbs.tools.config="%TOOLS_CONFIG%" -Dsf.spec.job.rootdir=%BUILD_DRIVE% -Dsf.suppress.buildenv.check=true -Dsf.suppress.drive.space.check=true -Dsf.spec.logs.raptorfilter.enable=false +hlm sf-prep -Dbuild.drive=%SUBST_DRIVE% -Dsf.spec.job.number=%JOB_NAME%.%BUILD_NUMBER% -Dsf.spec.job.codeline="%SRC_LOCATION%" -Dsf.project.location=%BUILD_DRIVE%\maintools_%JOB_NAME%.%BUILD_NUMBER%\build\config\%PLATFORM%\%PROJECT% -Dsf.spec.splitbuild=false -Dsf.spec.sbs.config="%TARGET%" -Dsf.spec.baseline.enable=%TOOLS_BASELINE_ENABLE% -Dsf.spec.sbs.tools.config="%TOOLS_CONFIG%" -Dsf.spec.job.rootdir=%BUILD_DRIVE% -Dsf.suppress.buildenv.check=true -Dsf.suppress.drive.space.check=true -Dsf.spec.logs.raptorfilter.enable=false -Dsf.spec.publish.enable=false -Dsf.spec.package.bin.enable=false -Dsf.spec.test.sendpkg.enable=false -Dskip.sbs.layer.generation=true -Dsf.spec.bldmefirst.s60.variant=%LOCALISATION% %SUBST_DRIVE% cd\ mkdir tmp copy %RELEASE_ZIP_LOCATION%\build_BOM.zip %SUBST_DRIVE%\tmp -copy %RELEASE_ZIP_LOCATION%\binaries_epoc_additional.zip %SUBST_DRIVE%\tmp + +REM for releases prior to 3.0.i replace binaries_prebuilt.zip with binaries_epoc_additional.zip +copy %RELEASE_ZIP_LOCATION%\binaries_prebuilt.zip %SUBST_DRIVE%\tmp + rem copy %RELEASE_ZIP_LOCATION%\binaries_bldmefirst.zip %SUBST_DRIVE%\tmp copy %RELEASE_ZIP_LOCATION%\*_rndonly*.zip %SUBST_DRIVE%\tmp copy %RELEASE_ZIP_LOCATION%\bin_redist*.zip %SUBST_DRIVE%\tmp @@ -226,8 +208,10 @@ exit 0 - IF NOT %SRC_LOCATION% == BOM exit -%SUBST_DRIVE% + %SUBST_DRIVE% +cd \ +hg clone http://developer.symbian.org/oss/MCL/sftools/fbf/utilities/ +IF NOT %SRC_LOCATION% == BOM exit cd \ @ECHO OFF IF NOT "%HG_USERNAME%" == "" GOTO USERNAME_OK @@ -238,10 +222,8 @@ echo "You must enter a UserName and Password when using the BOM option" exit 1 :HG_OK -cd \tmp -hg clone http://developer.symbian.org/oss/MCL/utilities cd\ -\tmp\utilities\clone_packages\clone_all_packages.pl -packagelist \build_info\logs\BOM\build-info.xml -username %HG_USERNAME% -password %HG_PASSWORD% -retries=7 +perl \utilities\clone_packages\clone_all_packages.pl -packagelist \build_info\logs\BOM\build-info.xml -username %HG_USERNAME% -password %HG_PASSWORD% -retries=7 %BUILD_DRIVE% @@ -250,11 +232,10 @@ set PROJECT=single set TOOLS_BASELINE_ENABLE=true set TOOLS_CONFIG=tools_rel.whatlog,tools2_rel.whatlog -IF %SPLIT_BUILD% == true set PROJECT=split IF %REBUILD_TOOLS% == true set TOOLS_BASELINE_ENABLE=false IF %REBUILD_TOOLS% == false set TOOLS_CONFIG=tools2_rel.whatlog cd %BUILD_DRIVE%\maintools_%JOB_NAME%.%BUILD_NUMBER%\sf-config -hlm sf-build-noprep -Dbuild.drive=%SUBST_DRIVE% -Dsf.spec.job.number=%JOB_NAME%.%BUILD_NUMBER% -Dsf.spec.job.codeline="%SRC_LOCATION%" -Dsf.project.location=%BUILD_DRIVE%\maintools_%JOB_NAME%.%BUILD_NUMBER%\build\config\%PLATFORM%\%PROJECT% -Dsf.spec.splitbuild=%SPLIT_BUILD% -Dsf.spec.sbs.config="%TARGET%" -Dsf.spec.baseline.enable=%TOOLS_BASELINE_ENABLE% -Dsf.spec.sbs.tools.config="%TOOLS_CONFIG%" -Dsf.spec.job.rootdir=%BUILD_DRIVE% -Dsf.suppress.buildenv.check=true -Dsf.suppress.drive.space.check=true -Dsf.spec.logs.raptorfilter.enable=false -Dsf.spec.publish.enable=false -Dsf.spec.package.bin.enable=false -Dsf.spec.test.sendpkg.enable=false -Dskip.sbs.layer.generation=true +hlm sf-build-noprep -Dbuild.drive=%SUBST_DRIVE% -Dsf.spec.job.number=%JOB_NAME%.%BUILD_NUMBER% -Dsf.spec.job.codeline="%SRC_LOCATION%" -Dsf.project.location=%BUILD_DRIVE%\maintools_%JOB_NAME%.%BUILD_NUMBER%\build\config\%PLATFORM%\%PROJECT% -Dsf.spec.splitbuild=false -Dsf.spec.sbs.config="%TARGET%" -Dsf.spec.baseline.enable=%TOOLS_BASELINE_ENABLE% -Dsf.spec.sbs.tools.config="%TOOLS_CONFIG%" -Dsf.spec.job.rootdir=%BUILD_DRIVE% -Dsf.suppress.buildenv.check=true -Dsf.suppress.drive.space.check=true -Dsf.spec.logs.raptorfilter.enable=false -Dsf.spec.publish.enable=false -Dsf.spec.package.bin.enable=false -Dsf.spec.test.sendpkg.enable=false -Dskip.sbs.layer.generation=true -Dsf.spec.bldmefirst.s60.variant=%LOCALISATION%