Install DESK

From DDCIDeos
Jump to navigationJump to search

This howto is to install the Deos Software Development Kit (DESK).

There are two different, but largely compatible, ways to install the DESK. The currently preferred approach is to use Docker.

The other approach uses Cygwin, which is used by legacy systems and some current customers. The rest of this howto relates to Cygwin.

Before you install the DESK

Most people have more than one Cygwin install on their workstation, and share their "home" directory among the various installations, typically as:

  c:/home/your-username

NOTE!!!!!: Do not create the c:/home/your-username if this is a fresh install. Cygwin will create it for you and set up any additional files needed. If the folder exists, Cygwin assumes it's from a previous install and doesn't touch it. Likely, Cygwin will add links to files that are in the Cygwin home directory.

Create a "HOME" environment variable. This will be checked and used automatically each time a Cygwin session is launched. This has to be performed once on your workstation, i.e., the step only needs to be repeated if you get a new workstation. This user environment variable information should look like:

Variable: HOME
   Value: c:\home\your-username

Installing the DESK

Follow these steps:

  1. Download and run setup.exe from Cygwin 2024 (use Cygwin 2022 or Cygwin 2018 or Cygwin 2014 or Cygwin 2016 for older DESKs; if you are not sure which one to choose, consult with project management).
  2. Accept the default and click <Next> on the first page of the setup (Cygwin Net Release Setup Program).
  3. Select "Install from Internet" as Download Source.
  4. For "Root Install Directory", select a directory that is not an existing cygwin installation directory. The default is c:\cygwin, but it is suggested that you use something like c:\cygwin\jupiter-test. Note: you can have multiple cygwin installations. See Anti Virus for excluding the directory from real-time scanning.
  5. For "Local Package Directory", select e.g. c:\cygwin\packages. Use this directory every time you install a particular DESK baseline, to reduce installation time.
  6. Select "Direct Connection" for Internet Connection.
  7. The "Download Site" selection is dependent on the project you are working. If you do not know which one to choose, consult with management.
  8. On the "Select Packages" page, select the following packages:
      • Required: Under Deos-Bundles, select 'deos-maintainer-tools'; this includes several tools expected by the process.
      • Optional: Under Deos-BSP, select any/all BSP packages of interest based on your project assignments.
  9. FYI: The "View" option "Pending" can be used to view all of the packages selected to be installed. The "View" option "Category" can be used to select more packages. Each "View" provides usefulness and can be explored as time permits. If installing Cygwin version 2018 or newer, the "View" options are a drop down list on the top left. If installing Cygwin prior to 2018, "View" is a button in the upper right hand corner of the screen. Click the "View" button until the desired option is selected.
  10. FYI: The Cygwin 2018 or newer setup programs have 3 radio buttons "Keep", "Best", and "Sync" along with a checkbox "Test". The "Keep" option defaults to no new package versions. The "Sync" option ensures that you select the latest stable or unreleased components based on the "Test" checkbox. The "Best" option (default) gives the latest unreleased version when an unreleased version is currently installed and the latest stable version otherwise. The older Cygwin setup programs have 3 radio buttons "Keep", "Cur", and "Exp" where "Keep" matches, "Cur" equates to "Sync" with "Test" unchecked, and "Exp" equates to "Sync" with "Test" checked.
  11. Click "Next" to complete the download. Depending on how many packages are being installed, this could take a while.
  12. Click "OK" and ignore the "Setup Alert" that appears warning about a LibUSB-Win32 driver installer from SourceForge.
  13. Select "Finish" to exit/complete the Cygwin setup.

Customizing your DESK

Most customization that you may apply in your ~/.bashrc (and ~/.bash_profile) will not affect how the tools of the DESK work. Certain environment variables must not be changed. These include ABCHOME, DESKHOME and SHELL. DDCIFLEX_LICENSE_FILE must be defined to run various DDC-I products.

One variable that is often changed is PATH. Feel free to append to PATH; be careful about prepending to it (that your additions do not hide tools the DESK relies on); avoid reordering the incoming PATH; do not remove any directories within the DESK itself (i.e. containing $DESKHOME/.. or being directly in /).

Certain settings in your environment affect the build results for static Deos libraries (e.g. the startup library). These include your umask and time zone. Nice to know if you need to reproduce someone else's build results.

If your environment is not US English you will probably need to set LC_ALL and LC_CTYPE (to C.UTF-8 resp. iso_8859_1).

To ensure that all your DESK installs have a consist set of commonly used directories, e.g., your scm checkouts, append the following to your %HOME% .bashrc:

ensure-symlink()
{
  [ -h "$2" ] && [[ "$(readlink "$2")" == "$1" ]] && return
  rm -f "$2" && ln -s "$1" "$2"
}

ensure-symlink ~ /home/$USERNAME
ensure-symlink ~/.ssh /.ssh
ensure-symlink /cygdrive/c/scm /scm
ensure-symlink /cygdrive/c/svn /svn

Install License File

Maintainers have access to a license file providing access to all DDCI content. The license expires at the end of January every year.

First configure SSH.

Install the license file following these steps:

  1. Update the windows system environment variable "DDCIFLEX_LICENSE_FILE" to be a windows path where you want your license file, e.g., %HOME%\all_prods.lic. From a bash shell:
    setx DDCIFLEX_LICENSE_FILE '%HOME%\all_prods.lic'
  2. Start a new bash shell then use scp to copy the license file to a local directory
    scp -v linux03:/lhome/DDS_integration/all_prods.lic $(cygpath -a "$DDCIFLEX_LICENSE_FILE")