OpenArbor Build Linux

From DDCIDeos
Jump to navigationJump to search

Setup

This page documents how to build OpenArbor, 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 Linux, assuming a relatively recent DDS is installed at /
# in a terminal
svn co https://deos.ddci.com/svn/DDCI/products/openarbor/openarbor/branches/mainline/workspace
cd workspace
make installdeos INSTALL_PREFIX=/

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.

How to

Update Release Notes

  • modify com.ddci.common.ide/OpenArbor_docs/release_notes/release_notes.docbook to document any new features.

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.

On Windows:

  • cd to c:/ddci_eclipse
  • create a directory "linux_built_RCP"

From the ubuntu vm: Checkout the svn branch (e.g. 10.2.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 host laptop /home/<username>/cdrive/ddci_eclipse/linux_built_RCP. 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. 10.2.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)

Using Docker Images

Creating a Docker Image With Unreleased Packages

For a list of cygwin package names, see OpenArbor_Build#Cygwin_Package_Information.

  1. open a terminal on the vm
  2. cd to where docker sources are checked out
  3. cd ~/docker (on testlinux01: /home/scoretest/docker)
  4. edit the bdu script to list each of the unreleased components.
    1. for each unreleased package desired add an "unpkgs" line: (e.g. unpkgs+=(openarborcommon openarboreclipse-64 openarbormanagedbuild openarborheadlessbuild openabor-flexnet))
  5. run the bdu script to create the dds-docker-celestial-deos-jupiter-20210809.tar.gz file
    The build can take up to 10 mins and the logfile contains progress information about the build
  6. ./bdu --save=dds-docker-celestial-deos-jupiter-20210809 jupiter customer-celestial
  7. load the docker image:
  8. docker image load -i dds-docker-celestial-deos-jupiter-20210809.tar.gz
  9. run the docker image:
  10. run-docker -it --tty --rm --mount=type=bind,source=/media,target=/media dds-docker-celestial-deos-jupiter-20210809
  11. To add additional packages to a docker image & save the docker container:
    1. run the docker image in terminal A
    2. run-docker -it --tty --rm --mount=type=bind,source=/media,target=/media dds-docker-celestial-deos-jupiter-20210809
    3. install the additional package(s)
    4. sudo apt install openarbormaintainertools
    5. leave terminal A open
    6. open/use ANOTHER teminal B - very important!
    7. list the docker containers, there will be one listed for the running docker in terminal A
    8. docker container ls
    9. commit the changes to the image using the displayed nickname (e.g. elegant_nightingale)
    10. docker container commit elegant_nightingale dds-docker-celestial-deos-jupiter-20210809_dev
    11. exit the run of docker from terminal A

When build docker is run, the postinstall scripts for the all the packages are executed and the resulting configuration is saved in the docker image.