diff --git a/Vagrantfile b/Vagrantfile index 91370424..8f5c0bcb 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -4,10 +4,10 @@ Vagrant.configure(2) do |config| - config.vm.box = "centosah/7alpha" - config.vm.box_url = 'https://ci.centos.org/artifacts/sig-atomic/centos-continuous/images-alpha/cloud/latest/images/centos-atomic-host-7-vagrant-libvirt.box' + # TODO: switch to the Fedora 30 CoreOS vagrant box once available + config.vm.box = "fedora/29-atomic-host" - config.vm.hostname = "centosah-dev" + config.vm.hostname = "fedoraah-dev" config.vm.define "vmcheck" do |vmcheck| end diff --git a/vagrant/README.md b/vagrant/README.md index ac42f73e..74254de3 100644 --- a/vagrant/README.md +++ b/vagrant/README.md @@ -2,30 +2,44 @@ Developing using Docker + Vagrant --------------------------------- The current tooling here is oriented towards -doing builds inside a CentOS 7 pet container, +doing builds inside a Fedora 29 pet container, with Vagrant on the host. -You should share the git working directory with the c7 container. +You should share the git working directory with the f29 container. Assuming you have git repositories stored in `/srv`, something like: ``` -docker run --name c7dev --privileged -v /srv:/srv --net=host -ti centos bash +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 +vagrant up; vagrant provision; vagrant halt; vagrant up ``` -Now, once you do a build inside the c7dev container, like: +Note to run `vagrant` as non-root, you'll need to either +[add your user to the `libvirt` group, or configure polkit](https://github.com/projectatomic/rpm-ostree/issues/49#issuecomment-478091562). + +If working under the `/srv` directory, you should first do +`sudo chown -R /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 sync over and install the built binaries to the Vagrant VM: ``` make vmsync @@ -36,3 +50,5 @@ You may also want to use `vmcheck`, like this: ``` make vmoverlay && make vmcheck ``` + +Also see [HACKING.md](../HACKING.md). diff --git a/vagrant/setup.yml b/vagrant/setup.yml index e657d9b4..795d92c7 100644 --- a/vagrant/setup.yml +++ b/vagrant/setup.yml @@ -16,47 +16,6 @@ cmd: 'passwd -u root && touch /root/.unlocked' creates: /root/.unlocked - - copy: - dest: /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 - content: | - -----BEGIN PGP PUBLIC KEY BLOCK----- - Version: GnuPG v1.4.11 (GNU/Linux) - - mQINBFKuaIQBEAC1UphXwMqCAarPUH/ZsOFslabeTVO2pDk5YnO96f+rgZB7xArB - OSeQk7B90iqSJ85/c72OAn4OXYvT63gfCeXpJs5M7emXkPsNQWWSju99lW+AqSNm - jYWhmRlLRGl0OO7gIwj776dIXvcMNFlzSPj00N2xAqjMbjlnV2n2abAE5gq6VpqP - vFXVyfrVa/ualogDVmf6h2t4Rdpifq8qTHsHFU3xpCz+T6/dGWKGQ42ZQfTaLnDM - jToAsmY0AyevkIbX6iZVtzGvanYpPcWW4X0RDPcpqfFNZk643xI4lsZ+Y2Er9Yu5 - S/8x0ly+tmmIokaE0wwbdUu740YTZjCesroYWiRg5zuQ2xfKxJoV5E+Eh+tYwGDJ - n6HfWhRgnudRRwvuJ45ztYVtKulKw8QQpd2STWrcQQDJaRWmnMooX/PATTjCBExB - 9dkz38Druvk7IkHMtsIqlkAOQMdsX1d3Tov6BE2XDjIG0zFxLduJGbVwc/6rIc95 - T055j36Ez0HrjxdpTGOOHxRqMK5m9flFbaxxtDnS7w77WqzW7HjFrD0VeTx2vnjj - GqchHEQpfDpFOzb8LTFhgYidyRNUflQY35WLOzLNV+pV3eQ3Jg11UFwelSNLqfQf - uFRGc+zcwkNjHh5yPvm9odR1BIfqJ6sKGPGbtPNXo7ERMRypWyRz0zi0twARAQAB - tChGZWRvcmEgRVBFTCAoNykgPGVwZWxAZmVkb3JhcHJvamVjdC5vcmc+iQI4BBMB - AgAiBQJSrmiEAhsPBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBqL66iNSxk - 5cfGD/4spqpsTjtDM7qpytKLHKruZtvuWiqt5RfvT9ww9GUUFMZ4ZZGX4nUXg49q - ixDLayWR8ddG/s5kyOi3C0uX/6inzaYyRg+Bh70brqKUK14F1BrrPi29eaKfG+Gu - MFtXdBG2a7OtPmw3yuKmq9Epv6B0mP6E5KSdvSRSqJWtGcA6wRS/wDzXJENHp5re - 9Ism3CYydpy0GLRA5wo4fPB5uLdUhLEUDvh2KK//fMjja3o0L+SNz8N0aDZyn5Ax - CU9RB3EHcTecFgoy5umRj99BZrebR1NO+4gBrivIfdvD4fJNfNBHXwhSH9ACGCNv - HnXVjHQF9iHWApKkRIeh8Fr2n5dtfJEF7SEX8GbX7FbsWo29kXMrVgNqHNyDnfAB - VoPubgQdtJZJkVZAkaHrMu8AytwT62Q4eNqmJI1aWbZQNI5jWYqc6RKuCK6/F99q - thFT9gJO17+yRuL6Uv2/vgzVR1RGdwVLKwlUjGPAjYflpCQwWMAASxiv9uPyYPHc - ErSrbRG0wjIfAR3vus1OSOx3xZHZpXFfmQTsDP7zVROLzV98R3JwFAxJ4/xqeON4 - vCPFU6OsT3lWQ8w7il5ohY95wmujfr6lk89kEzJdOTzcn7DBbUru33CQMGKZ3Evt - RjsC7FDbL017qxS+ZVA/HGkyfiu4cpgV8VUnbql5eAZ+1Ll6Dw== - =hdPa - -----END PGP PUBLIC KEY BLOCK----- - - - name: Add repository - yum_repository: - name: epel - description: EPEL YUM repo - mirrorlist: 'https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch' - gpgcheck: yes - gpgkey: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 - - command: rpm -q fuse-sshfs register: rpmq_fuse_sshfs changed_when: False