Skip to content

Set up new FieldWorks development workstation

papeh edited this page Sep 9, 2021 · 2 revisions

This page describes how to set up a Linux FieldWorks development machine using vagrant.

For older, more advanced, and additional instructions, including instructions for building and running FieldWorks, see Advanced Set up new FieldWorks development workstation.

Table of Contents

Install vagrant and virtualbox on host machine

Ubuntu Linux host machine

    sudo apt-get install vagrant virtualbox virtualbox-guest-additions-iso

If you ever find that your vagrant version is not new enough, install a newer .deb package from https://www.vagrantup.com/ .

Windows and Mac host machine

Download and install VirtualBox and Vagrant from web sites:

Set up FW dev machine

  • Get the vagrant setup information. First cd to a desired location to clone the repository with the Vagrant definitions.
    host$ git clone https://github.com/sillsdev/FwSupportTools.git
  • Your host's ssh key will be copied into the guest, to authenticate with gerrit from in the guest. So to use an fwdev machine, you need to have ~/.ssh/id_rsa and ~/.ssh/id_rsa.pub files.
  • Download and start machine. The box is several GB and will take some time to download.
    host$ cd FwSupportTools/vagrant/development/fwdev-w1804
    host$ vagrant up

Alternatively to fwdev-w1804, there are a variety of machines you can install:

- fwdev-w1604 FieldWorks development machine running Wasta 16.04
- fwdev-u1804 FieldWorks development machine running Ubuntu 18.04
- fwdev-w1804 FieldWorks development machine running Wasta 18.04
- fwdev-u2004 FieldWorks development machine running Ubuntu 20.04

In this way you can develop or debug on a variety of platforms.

  • Read the instructions file on the desktop in the machine.
  • If you trash your machine, don't want to spend time fixing something that went wrong, or for whatever reason want to re-create your vagrant guest, you can delete and re-create it using:
    host$ echo y | vagrant destroy && vagrant box update && vagrant up
  • Note that in vagrant, the username is vagrant and the password is vagrant.

Needed machine fixes in current fwdev-w1604 image

Update build scripts:

    guest$ cd ~/fwrepo/FwSupportTools && git pull

Force NuGet.exe to be updated:

    guest$ cd ~/fwrepo/fw/Build && rm NuGet.exe

Needed machine fixes in current fwdev-u2004 image

For FLEx Bridge to work, install dependencies:

    guest$ cd ~fwrepo/fw/Build/Agent && ./install-deps

FieldWorks test vagrant machine

You can also set up a FieldWorks test machine, to test the FieldWorks packages as a user would experience them.

Some fieldworks packages and dependencies are pre-downloaded but not installed so that the test machine starts as a clean machine.

    host$ cd FwSupportTools/vagrant/testing/fwtest-w1804
    host$ vagrant up

Use Synaptic to choose which repositories to enable (such as llso:experimental).

Alternatively to fwtest-w1804, there are a variety of machines you can install:

- fwtest-w1604 FieldWorks testing machine running Wasta 16.04
- fwtest-u1804 FieldWorks testing machine running Ubuntu 18.04
- fwtest-w1804 FieldWorks testing machine running Wasta 18.04
- fwtest-u2004 FieldWorks testing machine running Ubuntu 20.04

In this way you can verify fixes or attempt to reproduce bugs on a variety of platforms.

  • You can delete and re-create a vagrant guest by doing the following:
    host$ echo y | vagrant destroy && vagrant box update && vagrant up
  • Note that in vagrant, the username is vagrant and the password is vagrant.
Clone this wiki locally