Permalink
Please sign in to comment.
Browse files
Using Vagrant to test Oil on differnt OSes.
- Arch Linux https://app.vagrantup.com/archlinux/boxes/archlinux - Success! - CentOS (centos/7) - Errors noted in test/vagrant.sh (same as errors reported in RedHat Linux)
- Loading branch information...
| @@ -0,0 +1,74 @@ | ||
| # -*- mode: ruby -*- | ||
| # vi: set ft=ruby : | ||
| # All Vagrant configuration is done below. The "2" in Vagrant.configure | ||
| # configures the configuration version (we support older styles for | ||
| # backwards compatibility). Please don't change it unless you know what | ||
| # you're doing. | ||
| Vagrant.configure(2) do |config| | ||
| # Config file: https://docs.vagrantup.com. | ||
| # Search for boxes at https://atlas.hashicorp.com/search. | ||
| config.vm.define "arch" do |c| | ||
| c.vm.box = "archlinux/archlinux" | ||
| end | ||
| config.vm.define "centos" do |c| | ||
| c.vm.box = "centos/7" | ||
| end | ||
| # Disable automatic box update checking. If you disable this, then | ||
| # boxes will only be checked for updates when the user runs | ||
| # `vagrant box outdated`. This is not recommended. | ||
| # config.vm.box_check_update = false | ||
| # Create a forwarded port mapping which allows access to a specific port | ||
| # within the machine from a port on the host machine. In the example below, | ||
| # accessing "localhost:8080" will access port 80 on the guest machine. | ||
| # config.vm.network "forwarded_port", guest: 80, host: 8080 | ||
| # Create a private network, which allows host-only access to the machine | ||
| # using a specific IP. | ||
| # config.vm.network "private_network", ip: "192.168.33.10" | ||
| # Create a public network, which generally matched to bridged network. | ||
| # Bridged networks make the machine appear as another physical device on | ||
| # your network. | ||
| # config.vm.network "public_network" | ||
| # Share an additional folder to the guest VM. The first argument is | ||
| # the path on the host to the actual folder. The second argument is | ||
| # the path on the guest to mount the folder. And the optional third | ||
| # argument is a set of non-required options. | ||
| # config.vm.synced_folder "../data", "/vagrant_data" | ||
| # Provider-specific configuration so you can fine-tune various | ||
| # backing providers for Vagrant. These expose provider-specific options. | ||
| # Example for VirtualBox: | ||
| # | ||
| # config.vm.provider "virtualbox" do |vb| | ||
| # # Display the VirtualBox GUI when booting the machine | ||
| # vb.gui = true | ||
| # | ||
| # # Customize the amount of memory on the VM: | ||
| # vb.memory = "1024" | ||
| # end | ||
| # | ||
| # View the documentation for the provider you are using for more | ||
| # information on available options. | ||
| # Define a Vagrant Push strategy for pushing to Atlas. Other push strategies | ||
| # such as FTP and Heroku are also available. See the documentation at | ||
| # https://docs.vagrantup.com/v2/push/atlas.html for more information. | ||
| # config.push.define "atlas" do |push| | ||
| # push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME" | ||
| # end | ||
| # Enable provisioning with a shell script. Additional provisioners such as | ||
| # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the | ||
| # documentation for more information about their specific syntax and use. | ||
| # config.vm.provision "shell", inline: <<-SHELL | ||
| # sudo apt-get update | ||
| # sudo apt-get install -y apache2 | ||
| # SHELL | ||
| end |
| @@ -0,0 +1,52 @@ | ||
| #!/bin/bash | ||
| # | ||
| # Usage: | ||
| # ./vagrant.sh <function name> | ||
| set -o nounset | ||
| set -o pipefail | ||
| set -o errexit | ||
| # TODO: | ||
| # - Arch Linux | ||
| # - CentOS | ||
| # | ||
| # - FreeBSD | ||
| # - OpenBSD | ||
| # Hm lots of Ruby dependencies. | ||
| install() { | ||
| sudo apt install vagrant | ||
| sudo apt install virtualbox | ||
| } | ||
| # Downloads the image, run it, set up SSH stuff (keys, etc.). | ||
| archlinux() { | ||
| # Hm does this only happen once per dir? | ||
| vagrant init archlinux/archlinux | ||
| vagrant up | ||
| } | ||
| # vagrant ssh to log in. ~/git/oil is mounted to /vagrant. User is 'vagrant'. | ||
| # sudo pacman -S gcc make | ||
| # Then untar ~/src/oil-$VERSION.tar. | ||
| # centos/7 | ||
| # sudo yum install gcc make | ||
| # (NOTES: yum figures out the fastest mirror) | ||
| # $ make | ||
| # build/compile.sh build-opt _build/oil/ovm _build/oil/module_init.c _build/oil/main_name.c _build/oil/c-module-srcs.txt | ||
| # ~/src/oil-0.1.alpha1/Python-2.7.13 ~/src/oil-0.1.alpha1 | ||
| # Modules/posixmodule.c:3914:21: fatal error: stropts.h: No such file or directory | ||
| # #include <stropts.h> | ||
| # ^ | ||
| # compilation terminated. | ||
| # Modules/fcntlmodule.c:15:21: fatal error: stropts.h: No such file or directory | ||
| # #include <stropts.h> | ||
| "$@" |
0 comments on commit
576dd20