diff options
author | Johann CAHIER <johann.cahier@iot.bzh> | 2018-10-09 10:45:08 +0200 |
---|---|---|
committer | Johann CAHIER <johann.cahier@iot.bzh> | 2018-10-11 13:38:39 +0200 |
commit | bbbe9c168526bbb729022f9de903aff5690b328d (patch) | |
tree | e20b465e03d23d4c85a62dbfbc2aa1d8f8c13a4f /docs/part-2/2_xds-agent/1_build.md | |
parent | 48374d29bcc3bcf2b055b49d56eac49247772271 (diff) |
Improves documentation
* Describes better available source tree sharing method (between
xds-agent and xds-server), and which to prefer depending on the
deployment setup.
* Gives indication about how to pass RSYNC_TARGET and RSYNC_PREFIX
env vars to the helloworld-native-application build process.
* Swap chapter order (build before config)
Change-Id: Ie4c22f277a59b0405744d71b0fadff67c5d5d025
Signed-off-by: Johann CAHIER <johann.cahier@iot.bzh>
Diffstat (limited to 'docs/part-2/2_xds-agent/1_build.md')
-rw-r--r-- | docs/part-2/2_xds-agent/1_build.md | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/docs/part-2/2_xds-agent/1_build.md b/docs/part-2/2_xds-agent/1_build.md new file mode 100644 index 0000000..842f582 --- /dev/null +++ b/docs/part-2/2_xds-agent/1_build.md @@ -0,0 +1,90 @@ +# Build xds-agent from scratch + +## Dependencies + +Install [Go](https://golang.org/doc/install), [npm](https://www.npmjs.com/), +[nodejs](https://nodejs.org/en/) and some other tools. + +Refer to [Prerequisites chapter](../1_Prerequisites.html) for more details. + +## Building + +Clone sources under `$ROOTDIR/src/gerrit.automotivelinux.org/gerrit/src/xds/xds-agent` +in order respect directory hierarchy that match Go package import logic (see +[How to Write Go Code](https://golang.org/doc/code.html) for more details). + +Then use delivered Makefile : + +```bash +# Declare ROOTDIR, can be any location (for example xds-build) +ROOTDIR=$HOME/xds-build + +# Create directory hierarchy that match Go package import logic +mkdir -p $ROOTDIR/src/gerrit.automotivelinux.org/gerrit/src/xds +cd $ROOTDIR/src/gerrit.automotivelinux.org/gerrit/src/xds + +# Clone sources +git clone https://gerrit.automotivelinux.org/gerrit/src/xds/xds-agent +# or git clone ssh://YOUR_USERNAME@gerrit.automotivelinux.org:29418/src/xds/xds-agent + +# Build xds-agent +# (note that GOPATH will correctly be set by Makefile) +cd xds-agent +make all +``` + +Generate xds-agent packages / tarballs for Linux, MacOS, Windows + +```bash +make package-all +``` + +And to install `xds-agent` (by default in `/opt/AGL/xds/agent`): + +```bash +make install +``` + +<!-- section-warning --> +**Warning:** + +Makefile install rule and default values in configuration file are set +to fit the docker setup. + +So you may need to adapt some settings when you want to install xds-agent natively. +<!-- end-section-warning --> + +<!-- section-note --> +**Note:** + +Used `DESTDIR` to specify another install directory + +```bash +make install DESTDIR=$HOME/opt/xds-agent +``` + +<!-- end-section-note --> + +### Cross build + +For example on a Linux machine to cross-build for Windows, just follow these steps. + +The first time you need to install all the windows-amd64 standard packages on +your system with + +```bash +# List all supported OS / ARCH +go tool dist list + +# Install all standard packages for another OS/ARCH (eg. windows amd64) +GOOS=windows GOARCH=amd64 go install -v -a std +``` + +Then compile and package xds-agent using provided makefile + +```bash +export GOOS=windows +export GOARCH=amd64 +make all +make package +``` |