OpenArbor Build Linux
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.
- Follow instructions here to setup a linux vm for OA development: OpenArbor_Development#Ubuntu
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)
- svn co https://deos.ddci.com/svn/DDCI/products/openarbor/openarbor/branches/10.2.0/
- cd ~/ddci_eclipse/branches/10.2.0/workspace
- make MAVEN_OFFLINE=""
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)
- svn co https://deos.ddci.com/svn/DDCI/products/openarbor/openarbor/branches/10.2.0/
- cd ~/ddci_eclipse/branches/10.2.0/workspace
- make MAVEN_OFFLINE=""
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)
- where prefix is something like /cygdrive/c/DDC-I.
Using Docker Images
Creating a Docker Image With Unreleased Packages
For a list of cygwin package names, see OpenArbor_Build#Cygwin_Package_Information.
- open a terminal on the vm
- cd to where docker sources are checked out
cd ~/docker (on testlinux01: /home/scoretest/docker)- edit the bdu script to list each of the unreleased components.
- for each unreleased package desired add an "unpkgs" line: (e.g. unpkgs+=(openarborcommon openarboreclipse-64 openarbormanagedbuild openarborheadlessbuild openabor-flexnet))
- 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 ./bdu --save=dds-docker-celestial-deos-jupiter-20210809 jupiter customer-celestial- load the docker image:
docker image load -i dds-docker-celestial-deos-jupiter-20210809.tar.gz- run the docker image:
run-docker -it --tty --rm --mount=type=bind,source=/media,target=/media dds-docker-celestial-deos-jupiter-20210809- To add additional packages to a docker image & save the docker container:
- run the docker image in terminal A
run-docker -it --tty --rm --mount=type=bind,source=/media,target=/media dds-docker-celestial-deos-jupiter-20210809- install the additional package(s)
sudo apt install openarbormaintainertools- leave terminal A open
- open/use ANOTHER teminal B - very important!
- list the docker containers, there will be one listed for the running docker in terminal A
docker container ls- commit the changes to the image using the displayed nickname (e.g. elegant_nightingale)
docker container commit elegant_nightingale dds-docker-celestial-deos-jupiter-20210809_dev- 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.