# - release notes: https://github.com/mitchellh/vagrant/blob/master/CHANGELOG.md
Summary: Provisioning and deployment of virtual instances
Name: vagrant
-Version: 1.2.2
-Release: 0.31
+Version: 2.1.2
+Release: 4
License: MIT
Group: Applications/Emulators
-Source0: https://github.com/mitchellh/vagrant/archive/v%{version}.tar.gz?/%{name}-%{version}.tgz
-# Source0-md5: 68d2caa329b314982266e45be38c928b
-Patch0: source_root.patch
+Source0: https://github.com/mitchellh/vagrant/archive/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: 20b7a4a7b3e1bb4a57c8cac65a547ce7
+Source1: %{name}.sh
Patch1: rubygems.patch
Patch2: no-warning.patch
-URL: http://vagrantup.com/
+Patch3: Vagrantfile.patch
+Patch4: version.patch
+Patch5: fix-deps.patch
+Patch7: insert-key.patch
+Patch8: listen.patch
+Patch9: pld-chef-installed.patch
+URL: http://www.vagrantup.com/
+BuildRequires: bash
+BuildRequires: rpm-rubyprov
+BuildRequires: ruby > 1:2.0
+%if %{with tests}
BuildRequires: ruby-contest >= 0.1.2
BuildRequires: ruby-minitest >= 2.5.1
BuildRequires: ruby-mocha
BuildRequires: ruby-rake
-BuildRequires: ruby-rspec-core >= 2.11.0
-BuildRequires: ruby-rspec-expectations >= 2.11.0
-BuildRequires: ruby-rspec-mocks >= 2.11.0
-Requires: VirtualBox
+BuildRequires: ruby-rspec >= 2.14.0
+%endif
Requires: bsdtar
Requires: curl
-Requires: ruby-childprocess >= 0.3.7
-Requires: ruby-erubis >= 2.7.0
-Requires: ruby-i18n >= 0.6.0
-Requires: ruby-json < 1.8.0
-Requires: ruby-json >= 1.5.1
-Requires: ruby-log4r >= 1.1.9
-Requires: ruby-net-scp >= 1.1.0
-Requires: ruby-net-ssh >= 2.6.6
+Requires: ruby-json
Requires: ruby-rubygems
+Suggests: VirtualBox
+Suggests: VirtualBox-gui
+Suggests: rdesktop
+Suggests: rsync
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _appdir %{_datadir}/%{name}
+%define bash_compdir %{_datadir}/bash-completion/completions
%define vg_home /home/vagrant
%define vg_root /vagrant
Summary: bash-completion for %{name}
Group: Applications/Shells
Requires: %{name}
-Requires: bash-completion
-%if "%{_rpmversion}" >= "5"
-BuildArch: noarch
-%endif
+Requires: bash-completion >= 2.0
%description -n bash-completion-%{name}
bash-completion for %{name}.
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
Requires: /etc/pld-release
-Requires: kernel(vboxsf)
Requires: openssh-server
-Requires: sudo
+Requires: sudo >= 1.7.4p3-2
Requires: which
+Suggests: kernel(vboxsf)
Provides: group(vagrant)
Provides: user(vagrant)
-%if "%{_rpmversion}" >= "5"
-BuildArch: noarch
-%endif
%description guest
This is the package to be installed in Vagrant guest.
Summary: Documentation for %{name}
Group: Documentation
Requires: %{name} = %{version}-%{release}
-%if "%{_rpmversion}" >= "5"
-BuildArch: noarch
-%endif
%description doc
Ruby documentation for %{gem_name}
%prep
%setup -q
-%patch0 -p1
%patch1 -p1
%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+
+VERSION=$(cat version.txt)
+sed -i -e "s/__VERSION__/$VERSION/" lib/vagrant/version.rb
+
+# cleanup backups after patching
+find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
+
+%build
+# make gemspec self-contained
+ruby -r rubygems -e 'spec = eval(File.read("%{name}.gemspec"))
+ File.open("%{name}-%{version}.gemspec", "w") do |file|
+ file.puts spec.to_ruby_for_cache
+end'
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{ruby_vendorlibdir},%{_bindir},%{_appdir}}
-cp -a bin/* $RPM_BUILD_ROOT%{_bindir}
-cp -a lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir}
-cp -a config keys plugins templates $RPM_BUILD_ROOT%{_appdir}
+install -d $RPM_BUILD_ROOT{%{ruby_gemdir}/gems/%{name}-%{version},%{ruby_specdir},%{_bindir}}
+cp -a lib bin keys plugins templates $RPM_BUILD_ROOT%{ruby_gemdir}/gems/%{name}-%{version}
+cp -p %{name}-%{version}.gemspec $RPM_BUILD_ROOT%{ruby_specdir}
+install -p %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/%{name}
-install -d $RPM_BUILD_ROOT/etc/bash_completion.d
-mv contrib/bash/completion.sh $RPM_BUILD_ROOT/etc/bash_completion.d/%{name}.sh
+install -d $RPM_BUILD_ROOT%{bash_compdir}
+cp -p contrib/bash/completion.sh $RPM_BUILD_ROOT%{bash_compdir}/%{name}
# guest
install -d $RPM_BUILD_ROOT/etc/sudoers.d
echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > $RPM_BUILD_ROOT/etc/sudoers.d/%{name}
install -d $RPM_BUILD_ROOT{%{vg_root},%{vg_home}/.ssh}
-cp -a /etc/skel/.bash* $RPM_BUILD_ROOT%{vg_home}
+cp -p /etc/skel/.bash* $RPM_BUILD_ROOT%{vg_home}
# Since Vagrant only supports key-based authentication for SSH, we must
# set up the vagrant user to use key-based authentication. We can get the
%files
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/vagrant
-%{ruby_vendorlibdir}/vagrant.rb
-%{ruby_vendorlibdir}/vagrant
-%{_appdir}
+#%{ruby_vendorlibdir}/vagrant.rb
+#%{ruby_vendorlibdir}/vagrant
+#%{_appdir}
+
+%dir %{ruby_gemdir}/gems/%{name}-%{version}
+%dir %{ruby_gemdir}/gems/%{name}-%{version}/bin
+%attr(755,root,root) %{ruby_gemdir}/gems/%{name}-%{version}/bin/*
+%{ruby_gemdir}/gems/%{name}-%{version}/keys
+%{ruby_gemdir}/gems/%{name}-%{version}/lib
+%{ruby_gemdir}/gems/%{name}-%{version}/plugins
+%{ruby_gemdir}/gems/%{name}-%{version}/templates
+
+%{ruby_specdir}/%{name}-%{version}.gemspec
%files -n bash-completion-%{name}
%defattr(644,root,root,755)
-/etc/bash_completion.d/*
+%{bash_compdir}/%{name}
%files guest
%defattr(644,root,root,755)