Merge branch 'master' into extended-easysetup
[platform/upstream/iotivity.git] / tools / vagrant / README.md
1 IoTivity Build VM from Vagrant
2 ==============================
3
4 Vagrant can use the files in this directory to provision an Ubuntu 12.04
5 development environment for IoTivity.  To create a new VM type
6
7     % vagrant up
8
9 in the current directory.  You can then connect to the VM with
10
11     % vagrant ssh
12
13 On the newly provisioned VM, the IoTivity repo will be checked out in
14 the `iotivity` directory in the vagrant user's home directory and
15 configured to use the Arduino SDKs which are automatically downloaded
16 and installed in the home directory and patched when the VM is provisioned.
17
18 Using Vagrant to build a VM might be useful for:
19
20 * Testing the build process on a clean install to make sure all dependencies
21   are captured
22
23 * Configuring a Linux build environment for Windows or Mac users
24
25 * Configuring build VMs for build automation
26
27 The bootstrap.sh and iotivity-setup.sh files can be used independent of
28 Vagrant to configure a existing Ubuntu environment.  How to do so is left
29 as an exercise for the reader.  (Hint: try `sudo bootstrap.sh &&
30 iotivity-setup.sh`.)
31
32 For more information about Vagrant, please see https://docs.vagrantup.com/v2/
33
34 Assumptions
35 ===========
36
37 * The ${HOME}/.ssh/ directory contains config, id_rsa, id_rsa.pub, and
38   known_hosts, that when copied to the VM will allow connection to the
39   git repo.  (And that you don't mind those files being copied to the VM.)
40
41 * If a USER environment variable, it has the user name to use for git
42   otherwise, USERNAME has the user ID for git.  USER should work for
43   Linux and USERNAME works inside Git bash on Windows.
44
45 To Do
46 =====
47
48 * Everything is dumped into the top-level directory.  A cleaner layout
49   would be better (e.g., move the Arduino libraries to iotivity/extlibs).
50
51 * Verify on more configurations (tested on Git bash under Windows)
52
53 * Try with Ubuntu 14.04
54
55 * Have a more flexible way to determine the git user name
56
57 * Install Android NDK