rpm-ostree/vagrant/README.md
Colin Walters 2f9d586bdc Redo vmcheck to abstract over ssh-config, drop all building
My development environment is now using "pet" docker containers.
I use VMs for testing things that require that (like rpm-ostree).

This patch builds on work from @jlebon in
https://github.com/projectatomic/rpm-ostree/pull/509
to rework `vmcheck` such that it can work on any `ssh-config`.  By
default we expect this to be Vagrant.

However, I go a lot farther and delete the `vmbuild` code that was
trying to do builds in a container on the target VM.  I think this is
still worth pursuing at some point, but for now I think it's
reasonable to assume that the rpm-ostree developer audience uses Linux
as their host workstation and hence has containers.

(There's another important point here in that for developing lower
 level things like rpm-ostree, there's a strong push to make the VM
 disposable and not a pet)

Closes: #516
Approved by: jlebon
2016-11-16 18:14:23 +00:00

929 B

Developing using Docker + Vagrant

The current tooling here is oriented towards doing builds inside a CentOS 7 pet container, with Vagrant on the host.

You should share the git working directory with the c7 container. Assuming you have git repositories stored in /srv, something like:

docker run --name c7dev --privileged -v /srv:/srv --net=host -ti centos bash

You can start the Vagrant box. To work around "fuse-sshfs" not being built into the Vagrant box, do something like this:

vagrant up ; vagrant provision; vagrant halt; vagrant up

Now, once you do a build inside the c7dev container, like:

./autogen.sh CFLAGS='-ggdb -O0' --prefix=/usr --libdir=/usr/lib64 --enable-installed-tests --enable-gtk-doc

To sync over and install the built binaries:

make vmsync

You may also want to use vmcheck, like this:

make vmoverlay && make vmcheck