OpenArbor Build Windows

From DDCIDeos
Jump to navigationJump to search

Setup

This page documents how to build OpenArbor on Windows, and other capabilities of OpenArbor's Makefile. If you just want to build and install the latest OpenArbor from an svn branch (e.g. mainline) into an existing DDS, do the following:

# On Windows, assuming a relatively recent DDS is installed at /cygdrive/c/DDC-I
# in a desk maintainer environment
svn co https://deos.ddci.com/svn/DDCI/products/openarbor/openarbor/branches/mainline/workspace
cd workspace
make installdeos INSTALL_PREFIX=/cygdrive/c/DDC-I

For other things to do with the Makefile, read on. For a discussion of setting up an OpenArbor development environment, complete with debugging and testing capabilities, see OpenArbor Development. To see open PCR's relating to this page, see OpenArborBuild PCR's.

  • Use a desk maintainer environment.
  • Use a workspace that is a checkout of https://deos.ddci.com/svn/DDCI/products/openarbor/openarbor/branches/mainline/workspace
    • (You can be on a branch besides mainline, and everything should work relative to the branch you're on.)
    • The current working directory for all of the following commands should be the workspace directory.
    • svn should be up to date, meaning `svn st -u` should indicate that there are no pending incoming or outgoing changes, not even '?' items.
  • If you want to do any of the publishing commands, you will need to setup ssh access to the ftp server. Just try it, and the errors you get will tell you how to do this.

How to

Update Release Notes

  • modify C:\ddci_eclipse\branches\12.1.0\workspace\docs\openarbor-release-notes.docbook to document any new features.

Update Version No

  • modify C:\ddci_eclipse\branches\12.1.0\workspace\build-utils\version.txt to update the version # (if needed).

Build and Publish "unreleased"

To build OpenArbor, the linux RCP must be built first, then when 'make unreleased' is executed on Windows the linux RCP and windows RCP will be packaged up together and put up on the ftp server.

From the ubuntu vm: Checkout the svn branch (e.g. 11.0.0)

The above three steps only need to be done one time.
Build the unreleased version

  • svn up
  • make unreleased

This will copy the Linux RCP package to \\nx3000\OAstage. Running make unreleased on windows will package both the linux and windows RCP up to the ftp server. This is a work-around for the installer's requirement that both linux and window's RCP's be in the openarborEclipse_64 package.

From Windows: Checkout the svn branch (e.g. 11.0.0)

The above three steps only need to be done one time.
Build the unreleased version

  • cd C:
  • cd ddci_eclipse/branches/<branchName>/workspace
  • svn up
  • make unreleased

Build and Publish Straight to "stable"

Follow steps above for making an unreleased OA, but issue make stable instead of make unreleased.

  • make stable

Mark an Already-Published "unreleased" Build as "stable"

  • make stabilize

Create an OpenArbor Installation Without Going Through the Ftp Server

These do not necessarily require svn to be up to date. These can be used to test changes to OpenArbor on test machines before publishing or even before committing to svn.

  • make target INSTALL_PREFIX=prefix
    • where prefix is something like /cygdrive/c/DDC-I.
      • WARNING: scary things have happened when using Windows-style paths here. For best results, use cygwin-style paths.
    • where target is one of:
      • installdeos
      • installheartos
      • installgcc (for Gcc Standalone)
      • installscore
      • install (for everything, including the Jovial feature)

Release Completion Management Activities

When a release of OA goes stable (e.g. 12.1.0), any uncompleted testing specific PCRs from the previous release (e.g. 12.0.2) need to be moved to the current release milestone in Bugzilla.
The PCR corrections section for both wikis need to be regenerated.
The previous release wiki (e.g. OpenArbor_12.0.2) should be moved from Active Releases to Completed Releases.
A new wiki page (e.g. OpenArbor_12.2.0) should be created for the work being done on mainline.