rpm-ostree/vagrant
Robert Fairley be1be526ff vagrant: Use a Fedora 29 container
Switch the Docker + Vagrant development docs to use a Fedora 29
build container, and a Fedora 29 Atomic Host Vagrant box. CentOS
7-based testing was recently removed (#1785) - let's have the
documented development pattern reflect this.

Also no longer enables the EPEL7 repo in the Vagrant VM, as needed
dependencies are available in Fedora Atomic Host.

A note is left to later switch to Fedora CoreOS as the documented
Vagrant box to use, once Fedora CoreOS boxes are produced.
Alternatively, one may use [cosa](https://github.com/coreos/coreos-assembler).

A few notes are also added to vagrant/README.md in places where
the reader may hit problems.

squash

Closes: #1826
Approved by: cgwalters
2019-05-09 00:08:14 +00:00
..
.gitignore Redo vmcheck to abstract over ssh-config, drop all building 2016-11-16 18:14:23 +00:00
README.md vagrant: Use a Fedora 29 container 2019-05-09 00:08:14 +00:00
setup.yml vagrant: Use a Fedora 29 container 2019-05-09 00:08:14 +00:00

Developing using Docker + Vagrant

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

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

podman run --name f29dev --privileged -v /srv:/srv --net=host -ti registry.fedoraproject.org/fedora:29 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

Note to run vagrant as non-root, you'll need to either add your user to the libvirt group, or configure polkit.

If working under the /srv directory, you should first do sudo chown -R <your-user> /srv/path/to/rpm-ostree/ on your host so that rootless vagrant can write there.

Before building, you may need to install the build dependencies in the f29dev container. A quick way to do this is:

ci/installdeps.sh

Now, run autoreconf inside the f29dev container:

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

To sync over and install the built binaries to the Vagrant VM:

make vmsync

You may also want to use vmcheck, like this:

make vmoverlay && make vmcheck

Also see HACKING.md.