2f9d586bdc
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
39 lines
929 B
Markdown
39 lines
929 B
Markdown
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
|
|
```
|