4 Summary: Build Vagrant base boxes or KVM, VirtualBox and Fusion images
9 Group: Applications/Emulators
10 Source0: https://github.com/jedi4ever/veewee/archive/v%{version}/%{name}-%{version}.tar.gz
11 # Source0-md5: a45f8f1b958ba05139433e17ed393ad0
12 Patch0: install-root.patch
13 Patch1: no-os-gem.patch
14 URL: http://github.com/jedi4ever/veewee/
15 BuildRequires: rpm-rubyprov
16 BuildRequires: rpmbuild(macros) >= 1.656
17 BuildRequires: sed >= 4.0
18 Requires: ruby-ansi < 1.4
19 Requires: ruby-ansi >= 1.3.0
20 Requires: ruby-childprocess
22 Requires: ruby-highline
24 Requires: ruby-net-ssh >= 2.2.0
25 Requires: ruby-popen4 < 0.2
26 Requires: ruby-popen4 >= 0.1.2
27 Requires: ruby-progressbar
28 Requires: ruby-thor < 1
29 Requires: ruby-thor >= 0.15
30 Requires: vagrant >= 0.9
31 # vnc: for vmware fusion and kvm
32 # fog: for libvirt (kvm)
33 Suggests: ruby-cucumber >= 1.0.0
34 Suggests: ruby-fission = 0.4.0
35 Suggests: ruby-fog >= 1.8
36 Suggests: ruby-vnc >= 1.0.1-1
37 Conflicts: ruby-fog >= 2
38 Conflicts: ruby-vnc > 1.2
40 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
42 %define _appdir %{_datadir}/%{name}
45 Vagrant is a great tool to test new things or changes in a virtual
46 machine (Virtualbox) using either Chef or Puppet.
48 The first step is to download an existing 'base box'. I believe this
49 scares a lot of people as they don't know who or how this box was
50 built. Therefore lots of people end up first building their own base
51 box to use with vagrant.
53 Besides building Vagrant boxes, veewee can also be used for:
54 - create VMWare (fusion), KVM virtual machines
55 - interact with with those vms (up, destroy, halt, ssh)
56 - export them: OVA for fusion, IMG for KVM and ovf for VirtualBox
62 %{__sed} -i -e '1 s,#!.*ruby,#!%{__ruby},' bin/*
65 # https://github.com/jedi4ever/veewee/commit/9f1163b53aa3ee82b0776c52bef92b74f6bd2cdb
67 %{__sed} -i -e 's,net/vnc/vnc.rb,net/vnc.rb,' lib/veewee/provider/core/box/vnc.rb
70 rm -rf $RPM_BUILD_ROOT
71 install -d $RPM_BUILD_ROOT{%{ruby_vendorlibdir},%{_bindir},%{_appdir}}
72 cp -a lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir}
73 cp -a bin/* $RPM_BUILD_ROOT%{_bindir}
74 cp -a templates validation $RPM_BUILD_ROOT%{_appdir}
77 rm -r $RPM_BUILD_ROOT%{ruby_vendorlibdir}/fission.old
80 rm -rf $RPM_BUILD_ROOT
83 %defattr(644,root,root,755)
84 %doc README.md License
85 %attr(755,root,root) %{_bindir}/veewee
86 %{ruby_vendorlibdir}/%{name}.rb
87 %{ruby_vendorlibdir}/%{name}
90 %{ruby_vendorlibdir}/fission.rb
91 %dir %{ruby_vendorlibdir}/fission
92 %{ruby_vendorlibdir}/fission/config.rb
94 %dir %{ruby_vendorlibdir}/java
95 %{ruby_vendorlibdir}/java/README.txt
96 %{ruby_vendorlibdir}/java/dir2floppy.jar
97 %{ruby_vendorlibdir}/java/dir2floppy.java
99 %dir %{ruby_vendorlibdir}/python
100 %{ruby_vendorlibdir}/python/parallels_sdk_check.py
101 %{ruby_vendorlibdir}/python/parallels_send_key.py
102 %{ruby_vendorlibdir}/python/parallels_send_string.py
104 %{ruby_vendorlibdir}/vagrant_init.rb