Add Vagrant VM for development

This commit is contained in:
Emil Lundberg
2017-10-16 16:52:25 +02:00
parent cd11196535
commit 73dfa7b48b
5 changed files with 78 additions and 0 deletions
+1
View File
@@ -1,4 +1,5 @@
.deps/ .deps/
.vagrant/
Makefile Makefile
Makefile.in Makefile.in
aclocal.m4 aclocal.m4
+1
View File
@@ -70,6 +70,7 @@ backend to use.
Recent versions of autoconf, automake, pkg-config and libtool must Recent versions of autoconf, automake, pkg-config and libtool must
be installed. Help2man is used to generate the manpages. Gengetopt be installed. Help2man is used to generate the manpages. Gengetopt
version 2.22.6 or later is needed for command line parameter handling. version 2.22.6 or later is needed for command line parameter handling.
The [Vagrant VM](vagrant/development) has all these dependencies preinstalled.
Generate the build system using: Generate the build system using:
+16
View File
@@ -0,0 +1,16 @@
Vagrant VM for development
===
Usage:
alice@work $ cd yubico-piv-tool/vagrant/development
alice@work $ vagrant up
alice@work $ vagrant ssh
ubuntu@ubuntu-xenial $ cd /vagrant
ubuntu@ubuntu-xenial $ autoreconf --install
ubuntu@ubuntu-xenial $ ./configure
ubuntu@ubuntu-xenial $ make
ubuntu@ubuntu-xenial $ sudo make install
ubuntu@ubuntu-xenial $ yubico-piv-tool --help
ubuntu@ubuntu-xenial $ exit
alice@work $ vagrant destroy
+42
View File
@@ -0,0 +1,42 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
# Use Ubuntu 16.04 Xenial as a base box.
config.vm.box = "ubuntu/xenial64"
# Install dependencies needed for yubikey-piv-manager development.
config.vm.provision "shell", path: "provision.sh"
# Sync repository to /vagrant
config.vm.synced_folder '../..', '/vagrant'
# VirtualBox configuration
config.vm.provider "virtualbox" do |vb|
vb.name = "yubikey-piv-tool_development"
end
# Uncomment this to add a USB filter for YubiKeys.
# This will connect the YubiKey to the VM when re-inserted.
# This filter uses VirtualBox as provider.
# Modify the paramters as needed depending on the device.
FILTER_NAME="YubiKey 4"
MANUFACTURER="Yubico"
VENDOR_ID="0x1050"
PRODUCT_ID="0x0407"
PRODUCT="Yubikey 4 OTP+U2F+CCID"
config.vm.provider "virtualbox" do |vb|
vb.customize ['modifyvm', :id, '--usb', 'on']
vb.customize ['usbfilter', 'add', '0',
'--target', :id,
'--name', FILTER_NAME,
'--manufacturer', MANUFACTURER,
'--vendorid', VENDOR_ID,
'--productid', PRODUCT_ID,
'--product', PRODUCT]
end
end
+18
View File
@@ -0,0 +1,18 @@
#! /usr/bin/env bash
# Install development dependencies
sudo apt-get update -qq
sudo apt-get install -qq software-properties-common
sudo add-apt-repository -y ppa:yubico/stable
sudo apt-get update -qq && apt-get -qq upgrade
sudo apt-get install -qq \
autoconf \
automake \
gengetopt \
help2man \
libpcsclite-dev \
libssl-dev \
libtool \
libykpiv1 \
pkg-config \
virtualbox-guest-dkms