### Eclipse Workspace Patch 1.0 #P eclipse-build Index: generatebuild.xml =================================================================== --- generatebuild.xml (revision 23733) +++ generatebuild.xml (working copy) @@ -5,7 +5,7 @@ <target name="genBuild"> <echo message="About to generate source bundles and build.xml files" /> <eclipse.buildScript elements="feature@${featureToBuild}" - configInfo="linux,gtk,${buildArch}" + configInfo="${buildOs},gtk,${buildArch}" buildingosgi="true" recursivegeneration="true" builddirectory="${buildDirectory}" Index: build.xml =================================================================== --- build.xml (revision 23733) +++ build.xml (working copy) @@ -88,6 +88,7 @@ <ant inheritall="false" antfile="pdebuild.xml"> <property name="buildId" value="${buildId}" /> <property name="buildArch" value="${buildArch}" /> + <property name="buildOs" value="${buildOs}" /> </ant> </target> @@ -264,7 +265,10 @@ <!-- end back-ported patches --> <!-- Only build for one target (bug #293952) --> <copy file="${buildConfigs}/eclipse-build-config/build.properties.in" tofile="${buildConfigs}/eclipse-build-config/build.properties" /> - <replace file="${buildConfigs}/eclipse-build-config/build.properties" token="@build_arch@" value="${buildArch}" /> + <replace file="${buildConfigs}/eclipse-build-config/build.properties"> + <replacefilter token="@build_arch@" value="${buildArch}" /> + <replacefilter token="@build_os@" value="${buildOs}" /> + </replace> <echo file="patch-stamp" /> </target> @@ -350,6 +354,7 @@ <!-- <ant antfile="build.xml" dir="${eclipse.pdebuild.scripts}"> <property name="arch" value="${buildArch}"/> + <property os="os" value="${buildOs}"/> <property name="builder" value="${buildConfig}" /> </ant> --> @@ -404,9 +409,9 @@ <target name="compile.libgnomeproxy" if="build.libgnomeproxy"> <!-- build libgnomeproxy --> - <exec dir="${buildDirectory}/plugins/org.eclipse.core.net/natives/unix/linux" executable="make" failonerror="true" /> - <copy file="${buildDirectory}/plugins/org.eclipse.core.net/natives/unix/linux/libgnomeproxy-1.0.0.so" todir="${buildDirectory}/plugins/org.eclipse.core.net.linux.${buildArch}/" /> - <move file="${buildDirectory}/plugins/org.eclipse.core.net/natives/unix/linux/libgnomeproxy-1.0.0.so" todir="${buildDirectory}/plugins/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.${buildArch}/" /> + <exec dir="${buildDirectory}/plugins/org.eclipse.core.net/natives/unix/${buildOs}" executable="make" failonerror="true" /> + <copy file="${buildDirectory}/plugins/org.eclipse.core.net/natives/unix/${buildOs}/libgnomeproxy-1.0.0.so" todir="${buildDirectory}/plugins/org.eclipse.core.net.${buildOs}.${buildArch}/" /> + <move file="${buildDirectory}/plugins/org.eclipse.core.net/natives/unix/${buildOs}/libgnomeproxy-1.0.0.so" todir="${buildDirectory}/plugins/org.eclipse.core.net/fragments/org.eclipse.core.net.${buildOs}.${buildArch}/" /> </target> <target name="compilelibs" unless="compilelibs.complete"> @@ -418,16 +423,16 @@ <include name="**/*.so" /> </fileset> </delete> - <ant antfile="build.xml" target="build.nativeLibraries" dir="${buildDirectory}/plugins/org.eclipse.swt.gtk.linux.${buildArch}" /> + <ant antfile="build.xml" target="build.nativeLibraries" dir="${buildDirectory}/plugins/org.eclipse.swt.gtk.${buildOs}.${buildArch}" /> <property name="launcherlibs" value="${buildDirectory}/features/org.eclipse.equinox.executable" /> <exec dir="${launcherlibs}/library/gtk/" executable="sh" failonerror="true"> <arg line="build.sh" /> </exec> - <property name="launcherfragment" value="org.eclipse.equinox.launcher.gtk.linux.${buildArch}" /> + <property name="launcherfragment" value="org.eclipse.equinox.launcher.gtk.${buildOs}.${buildArch}" /> - <copy file="${launcherlibs}/library/gtk/eclipse" todir="${buildDirectory}/features/org.eclipse.equinox.executable/bin/gtk/linux/${buildArch}/" /> + <copy file="${launcherlibs}/library/gtk/eclipse" todir="${buildDirectory}/features/org.eclipse.equinox.executable/bin/gtk/${buildOs}/${buildArch}/" /> <copy todir="${buildDirectory}/plugins/${launcherfragment}"> <fileset dir="${launcherlibs}/library/gtk"> <include name="**/*.so" /> @@ -435,13 +440,13 @@ </copy> <!-- build liblocalfile --> - <exec dir="${buildDirectory}/plugins/org.eclipse.core.filesystem/natives/unix/linux" executable="make" failonerror="true" /> - <move file="${buildDirectory}/plugins/org.eclipse.core.filesystem/natives/unix/linux/liblocalfile_1_0_0.so" todir="${buildDirectory}/plugins/org.eclipse.core.filesystem.linux.${buildArch}/os/linux/${buildArch}"> + <exec dir="${buildDirectory}/plugins/org.eclipse.core.filesystem/natives/unix/${buildOs}" executable="make" failonerror="true" /> + <move file="${buildDirectory}/plugins/org.eclipse.core.filesystem/natives/unix/${buildOs}/liblocalfile_1_0_0.so" todir="${buildDirectory}/plugins/org.eclipse.core.filesystem.${buildOs}.${buildArch}/os/${buildOs}/${buildArch}"> </move> <!-- build libgnomeproxy --> <antcall target="compile.libgnomeproxy" /> <!-- build libupdate --> - <ant dir="${buildDirectory}/plugins/org.eclipse.update.core.linux/src" antfile="build.xml" /> + <ant dir="${buildDirectory}/plugins/org.eclipse.update.core.${buildOs}/src" antfile="build.xml" /> <echo file="compilelibs-stamp" /> </target> @@ -544,7 +549,7 @@ <arg line="-application org.eclipse.ant.core.antRunner " /> <arg line="-buildfile buildConfiguration.xml" /> <arg line="-propertyfile ${basedir}/build.properties " /> - <arg line="-Dconfigs=linux,gtk,${buildArch} " /> + <arg line="-Dconfigs=${buildOs},gtk,${buildArch} " /> <arg line="-Dreposource=${reposource} " /> <arg line="-Dbasedir=${productFiles}/rcpConfig" /> <arg line="-DbuildId=${buildId} " /> @@ -570,6 +575,7 @@ <arg line="-buildfile publishProduct.xml" /> <arg line="-propertyfile ${basedir}/build.properties " /> <arg line="-DbuildArch=${buildArch} " /> + <arg line="-DbuildOs=${buildOs} " /> <arg line="-Dreposource=${reposource} " /> <arg line="-DbuildConfig=${buildConfig} " /> <arg line="-DproductFiles=${productFiles} " /> @@ -587,7 +593,7 @@ <param name="p2.director.profile" value="SDKProfile" /> <param name="p2.director.install.path" value="${buildDirectory}/installation" /> <param name="p2.director.extraArgs" value="-profileProperties org.eclipse.update.install.features=true" /> - <param name="p2.os" value="linux" /> + <param name="p2.os" value="${buildOs}" /> <param name="p2.ws" value="gtk" /> <param name="p2.arch" value="${buildArch}" /> <param name="p2.repo" value="${reposource}" /> @@ -647,6 +653,8 @@ <chmod perm="ugo+rx" file="${basedir}/runtests.sh" /> <exec executable="${basedir}/runtests.sh" dir="${basedir}"> <arg value="-t${timestamp}" /> + <arg value="-a${buildArch}" /> + <arg value="-o${buildOs}" /> </exec> <property name="testResultDir" value="${basedir}/tests_${timestamp}/results" /> <!-- Copy over the XML to generate a top-level report for all of the tests --> @@ -772,7 +780,7 @@ <property name="startupjarpath" refid="startupjar" /> <symlink link="${destDir}/${prefix}/${libDir}/eclipse/startup.jar" resource="plugins/${startupjarpath}" /> <!-- Create the "swt.jar" and friends symlinks --> - <fileset dir="${destDir}/${prefix}/${libDir}/eclipse/plugins" includes="org.eclipse.swt.gtk.linux.${buildArch}_*" id="swtjar" /> + <fileset dir="${destDir}/${prefix}/${libDir}/eclipse/plugins" includes="org.eclipse.swt.gtk.${buildOs}.${buildArch}_*" id="swtjar" /> <property name="swtjarpath" refid="swtjar" /> <symlink link="${destDir}/${prefix}/${libDir}/eclipse/swt-gtk-3.5.2.jar" resource="plugins/${swtjarpath}" /> <symlink link="${destDir}/${prefix}/${libDir}/eclipse/swt-gtk.jar" resource="plugins/${swtjarpath}" /> Index: pdebuild.xml =================================================================== --- pdebuild.xml (revision 23733) +++ pdebuild.xml (working copy) @@ -78,7 +78,7 @@ <file name="org.eclipse.help.base" /> </filelist> <filelist id="depsDirs2" dir="${sdkSource}/plugins"> - <file name="org.eclipse.swt.gtk.linux.${buildArch}" /> + <file name="org.eclipse.swt.gtk.${buildOs}.${buildArch}" /> <file name="org.eclipse.core.filesystem" /> <file name="org.eclipse.core.resources" /> <file name="org.eclipse.core.commands" /> @@ -164,12 +164,14 @@ <subant> <property name="buildId" value="${buildId}" /> <property name="buildArch" value="${buildArch}" /> + <property name="buildOs" value="${buildOs}" /> <property file="pdebuild.properties" /> <filelist refid="depsDirs" /> </subant> <subant> <property name="buildId" value="${buildId}" /> <property name="buildArch" value="${buildArch}" /> + <property name="buildOs" value="${buildOs}" /> <property file="pdebuild.properties" /> <filelist refid="helpDirs" /> </subant> @@ -195,6 +197,7 @@ <arg line="-application org.eclipse.ant.core.antRunner " /> <arg line="-buildfile ../pdebuild.xml generateScripts2" /> <arg line="-DbuildArch=${buildArch} " /> + <arg line="-DbuildOs=${buildOs} " /> <arg line="-DbuildId=${buildId} " /> <arg line="-debug -consolelog " /> </java> Index: publishProduct.xml =================================================================== --- publishProduct.xml (revision 23733) +++ publishProduct.xml (working copy) @@ -2,7 +2,7 @@ <target name="publish"> <echo message="Calling p2.publish.product with repository=${reposource} and productFile=${productFiles}/sdk/sdk.product"/> <p2.publish.product flavor="tooling" repository="file:${reposource}" productFile="${productFiles}/sdk/sdk.product" compress="true"> - <config os="linux" ws="gtk" arch="${buildArch}" /> + <config os="${buildOs}" ws="gtk" arch="${buildArch}" /> <advice kind="featureVersions" file="${buildDirectory}/finalFeaturesVersions.properties" /> <advice kind="pluginVersions" file="${buildDirectory}/finalPluginsVersions.properties" /> </p2.publish.product> Index: runtests.sh =================================================================== --- runtests.sh (revision 23733) +++ runtests.sh (working copy) @@ -14,6 +14,8 @@ -g Don't run the tests headless -d Allow remote connection to test runs' JVM -t Timestamp string with which to tag the results + -a Architecture to run the tests on + -o OS to run the tests on _EOF_ } @@ -72,6 +74,7 @@ # Defaults debugTests=0 headless=1 + buildOs=linux testFramework=org.eclipse.test_3.2.0 if [ -z ${timestamp} ]; then timestamp=$(date "+%Y%m%d%H%M%S") @@ -116,21 +119,16 @@ if [ ${headless} == 1 ]; then # Try to find Xvnc xvnc= - if [ -a /usr/bin/Xvnc ] - then - xvnc=/usr/bin/Xvnc - setupXvnc - else - if [ -a /usr/X11/bin/Xvnc ] - then - xvnc=/usr/X11/bin/Xvnc + for _xvnc in /usr/bin/Xvnc /usr/X11/bin/Xvnc /usr/local/bin/Xvnc; do + if [ -a $_xvnc ]; then + xvnc=$_xvnc setupXvnc - else - echo "Couldn't find Xvnc (/usr/bin/Xvnc or /usr/X11/bin/Xvnc). Using DISPLAY=0:0" - DISPLAY=`$HOST`:0.0 + break fi + done + if [ "x$xvnc" = "x" ]; then + echo "Couldn't find Xvnc. Using default DISPLAY from environment" fi - export DISPLAY fi } @@ -139,9 +137,11 @@ port=`expr '(' $RANDOM '*' 9 / 32767 ')' + 58` echo localhost > Xvnc.cfg echo "Setting up Xvnc on port ${port} with password VNCpassword1" - $xvnc :$port -screen 1 1024x768x32 -auth Xvnc.cfg -localhost -PasswordFile eclipse-tests-vncpwd &> Xvnc.log & + $xvnc :$port -geometry 1024x768 -depth 24 -auth Xvnc.cfg -localhost -rfbauth eclipse-tests-vncpwd &> Xvnc.log & Xvncpid=$! - DISPLAY=`$HOST`:$port + DISPLAY=$HOST:$port + export DISPLAY + } function setArch() { @@ -160,13 +160,15 @@ arch=ia64 ;; ppc) arch=ppc ;; - x86_64) + x86_64|amd64) arch=x86_64 ;; *) echo "Unrecognized architecture: $arch" 1>&2 exit 1 ;; esac echo >&2 "Architecture not specified. Assuming host architecture: $arch" + else + arch=$buildArch fi } @@ -177,7 +179,7 @@ -application org.eclipse.ant.core.antRunner \ -file $testDriver \ -Declipse-home=${eclipseHome} \ - -Dos=linux \ + -Dos=${buildOs} \ -Dws=gtk \ -Darch=${arch} \ -Dlibrary-file=$libraryXml \ @@ -185,7 +187,7 @@ -logger org.apache.tools.ant.DefaultLogger \ -vmargs \ -Duser.home=${homedir} \ - -Dosgi.os=linux \ + -Dosgi.os=${buildOs} \ -Dosgi.ws=gtk \ -Dosgi.arch=${arch} } @@ -288,7 +290,7 @@ } # Command-line arguments -while getopts "de:gt:h" OPTION +while getopts "de:gt:a:o:h" OPTION do case $OPTION in d) @@ -300,6 +302,12 @@ t) timestamp=$OPTARG ;; + a) + buildArch=$OPTARG + ;; + o) + buildOs=$OPTARG + ;; h) usage exit 1 Index: build.sh =================================================================== --- build.sh (revision 23733) +++ build.sh (working copy) @@ -38,5 +38,5 @@ esac DATE=`date +%Y%m%d%H%M%S` -ant -DbuildArch=${arch} 2>&1 | tee build_${DATE}.log +ant -DbuildArch=${arch} -DbuildOs=linux 2>&1 | tee build_${DATE}.log echo "Build log is available in build_${DATE}.log"