rpm-ostree/HACKING.md
Jonathan Lebon fdbe28b964 docs: fix README.md and add HACKING.md
Add a HACKING.md document detailing how to get started and test
rpm-ostree using the vagrant box.

Fix the CONTRIBUTING.md link and add a link to HACKING.md in README.md.

Closes: #344
Approved by: cgwalters
2016-06-23 00:05:09 +00:00

1.6 KiB

The easiest way to get started hacking on rpm-ostree is to use the vagrant machine. This is also the set up used for our integration tests.

One-time setup

Starting the vagrant machine is as easy as:

host$ vagrant up
host$ vagrant ssh

The VM for now uses the official centos/atomic-host box. However, because rpm-ostree is tightly coupled with other projects such as ostree and libhif, the code in HEAD may require a more recent version than available in the latest official box.

For this reason, you may want to rebase the VM onto the CentOS Atomic Continuous stream, which will contain the latest HEAD versions of these dependencies (normally within the hour). To rebase, simply do:

vm$ sudo rpm-ostree rebase centos-atomic-continuous:centos-atomic-host/7/x86_64/devel/continuous
vm$ sudo systemctl reboot

If you need to test your code with custom ostree or libhif builds, you have no choice for now other than making your own tree (and yum repo for use by the build container). We're hoping to improve this workflow soon.

Hacking

The make vmbuild command will automatically sync the current files to the VM, build rpm-ostree and install it into a new deployment, and finally reboot the VM to use it.

For convenience, the make vmshell command does the same but additionally places you in a shell, ready to test your changes.

Testing

The make vmcheck command performs the same task as make vmbuild, but additionally starts the integration testsuite.