Jump to: navigation, search

EPP/Galileo Packages/Release Actions

Directories used in the description

  • EPP_BuildDirectory = server build.eclipse.org, directory /shared/technology/epp
  • EPP_DownloadDirectory = /home/data/httpd/download.eclipse.org/technology/epp

Before the release

  • Check that all package maintainers signed off on the wiki page: EPP/Galileo_Packages/Sign_Off
  • Copy the p2 repository from build to download; usually it is created on build.eclipse.org in EPP_BuildDirectory/epp_repo/galileo/epp.build/buildresult/org.eclipse.epp.allpackages.feature_1.2.0-eclipse.feature/site.p2/ and needs to be copied to a milestone subdirectory below EPP_DownloadDirectory/packages/galileo/
  • Update compositeArtifacts.jar and compositeContent.jar

Structure of the composite p2 repositories in EPP_DownloadDirectory/packages/galileo:

compositeArtifacts.jar        -> points to multiple artifact.jar's
compositeContent.jar          -> points to multiple content.jar's
milestones.RC1/
               artifacts.jar
               content.jar
               features/...
               plugins/...
milestones.RC2/
               artifacts.jar
               content.jar
               features/...
               plugins/...
...

Moving the packages from build to download

The packages need to be copied from the build server to the download area, they must be renamed, MD5 and SHA1 checksums must be generated, etc. To make this step easier there is a little script that does all the necessary steps. The script is called releaseRename.sh and is available in the EPP CVS: releaseRename.sh

The script is usually checked out on build.eclipse.org in EPP_BuildDirectory/epp_build/35/org.eclipse.epp/releng/org.eclipse.epp.config/tools/releaseRename.sh and takes two parameters: The BuildID and the kind of the release, e.g. M6, RC1, R, SR1, etc.

sh releaseRename.sh 20090605-1619 RC3

Note that there are some preset values in the script which need to be modified from time to time, or to be more precise from release train to release train.

# the target directory
RELEASEDIRECTORY=/home/data/httpd/download.eclipse.org/technology/epp/downloads/release
# the directory where the packages are being build and available in a subdirectory for every build id, e.g. 20090605-1619/
TESTDIRECTORY=/shared/technology/epp/epp_build/35/download
# name of the release train
RELEASETRAIN=galileo
...

The script creates the necessary directories, copies the logfiles, the XML configuration files, copies and renames the package files, and calculates the checksum files for each package.

After the release

  • update EPP_DownloadDir/downloads/release/staging.xml and send a mail to Nathan.
  • copy EPP_DownloadDir/downloads/release/staging.xml to EPP_DownloadDir/downloads/release/release.xml after contacting Nathan.

Format of release.xml, staging.xml

Both files control the Drupal CMS and point to past/present/future releases of the EPP packages, e.g. galileo/RC2 is the relative path to the RC2 packages of the Galileo release.

<packages>
  <past>ganymede/R</past>
  <past>ganymede/SR1</past>
  <present>ganymede/SR2</present>
  <future>galileo/RC1</future>
  <future>galileo/RC2</future>
</packages>

Update of scripts, etc. for the next release

  • startXY.sh script in org.eclipse.epp/releng/org.eclipse.epp.config
    • Check the p2 repositories and their location
    • Update RELEASE_NAME variable, e.g RELEASE_NAME="-galileo-RC3"
  • ALL package definitions in org.eclipse.epp/packages
  • (manually) Check-out all new versions of the files on the build server build.eclipse.org
  • Update the Eclipse that is used to build the packages in EPP_BuildDirectory/epp_build/35 to the latest eclipse-SDK-3.5XXX-linux-gtk-ppc.tar.gz