summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVít Ondruch <vondruch@redhat.com>2014-11-26 12:03:37 +0100
committerVít Ondruch <vondruch@redhat.com>2015-01-21 12:53:03 +0100
commit126c9574c1adca13a86f4c382cf17e721d477b65 (patch)
tree56ff165110c87a1f08c646472ec5a138e02e2209
parentc11853ff6f2fc97032b14f9df78588a0fa9eee41 (diff)
downloadfedora-vagrant-126c9574c1adca13a86f4c382cf17e721d477b65.tar.gz
fedora-vagrant-126c9574c1adca13a86f4c382cf17e721d477b65.tar.xz
fedora-vagrant-126c9574c1adca13a86f4c382cf17e721d477b65.zip
Create -devel sub-package
-rw-r--r--macros.vagrant41
-rw-r--r--vagrant.spec21
2 files changed, 60 insertions, 2 deletions
diff --git a/macros.vagrant b/macros.vagrant
new file mode 100644
index 0000000..6636aba
--- /dev/null
+++ b/macros.vagrant
@@ -0,0 +1,41 @@
+# Common gem locations and files for Vagrant plugin
+%gem_dir /usr/share/vagrant/gems
+%gem_instdir %{gem_dir}/gems/%{gem_name}-%{version}
+%gem_extdir_mri %{_libdir}/gems/ruby/%{gem_name}-%{version}
+%gem_libdir %{gem_instdir}/lib
+%gem_cache %{gem_dir}/cache/%{gem_name}-%{version}.gem
+%gem_spec %{gem_dir}/specifications/%{gem_name}-%{version}.gemspec
+%gem_docdir %{gem_dir}/doc/%{gem_name}-%{version}
+
+# Install gem into appropriate directory.
+# -n<gem_file> Overrides gem file name for installation.
+# -d<install_dir> Set installation directory.
+%gem_install(d:n:) \
+mkdir -p %{-d*}%{!?-d:.%{gem_dir}} \
+\
+CONFIGURE_ARGS="--with-cflags='%{optflags}' $CONFIGURE_ARGS" \\\
+gem install \\\
+ -V \\\
+ --local \\\
+ --install-dir %{-d*}%{!?-d:.%{gem_dir}} \\\
+ --bindir .%{_bindir} \\\
+ --force \\\
+ --document=ri,rdoc \\\
+ --backtrace \\\
+ %{-n*}%{!?-n:%{gem_name}-%{version}.gem} \
+%{nil}
+
+# Macros to (un)register Vagrant gem
+%vagrant_plugin_register() \
+%{_bindir}/ruby -e ' \\\
+$LOAD_PATH.unshift "%{_datadir}/vagrant/lib"; \\\
+require "vagrant/plugin/manager"; \\\
+Vagrant::Plugin::StateFile.new(Pathname.new(File.expand_path "/var/lib/vagrant/plugins.json")).add_plugin "%1";' \
+%{nil}
+
+%vagrant_plugin_unregister() \
+%{_bindir}/ruby -e ' \\\
+$LOAD_PATH.unshift "%{_datadir}/vagrant/lib"; \\\
+require "vagrant/plugin/manager"; \\\
+Vagrant::Plugin::StateFile.new(Pathname.new(File.expand_path "/var/lib/vagrant/plugins.json")).remove_plugin "%1";' \
+%{nil}
diff --git a/vagrant.spec b/vagrant.spec
index 9480802..f1ae6cf 100644
--- a/vagrant.spec
+++ b/vagrant.spec
@@ -6,7 +6,7 @@
Name: vagrant
Version: 1.6.5
-Release: 12%{?dist}
+Release: 13%{?dist}
Summary: Build and distribute virtualized development environments
Group: Development/Languages
License: MIT
@@ -24,6 +24,8 @@ Source2: https://github.com/mitchellh/%{name}-spec/archive/%{vagrant_spec_commit
# for RubyGems and Bundler are in place
Source3: patches.rb
+Source4: macros.vagrant
+
Patch0: vagrant-1.6.5-fix-dependencies.patch
Requires: ruby(release)
@@ -80,6 +82,12 @@ BuildArch: noarch
%description doc
Documentation for %{name}.
+%package devel
+Summary: Package shipping development files for Vagrant
+
+%description devel
+Package shipping macros for convinient plugin registration and
+unregistration.
%prep
%setup -q
@@ -93,7 +101,6 @@ mkdir -p %{buildroot}%{vagrant_dir}
cp -pa ./* \
%{buildroot}%{vagrant_dir}/
-
find %{buildroot}%{vagrant_dir}/bin -type f | xargs chmod a+x
rm %{buildroot}%{vagrant_dir}/{CHANGELOG,CONTRIBUTING,README}.md
@@ -116,6 +123,10 @@ install -d -m 755 %{buildroot}%{vagrant_plugin_dir}
cp %{SOURCE3} %{buildroot}%{vagrant_dir}/lib/vagrant
sed -i -e "11irequire 'vagrant/patches'" %{buildroot}%{vagrant_dir}/lib/vagrant.rb
+# Install Vagrant macros
+mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d/
+cp %{SOURCE4} %{buildroot}%{_rpmconfigdir}/macros.d/
+
%check
# Unpack the vagran-spec and adjust the directory name.
@@ -168,8 +179,14 @@ getent group vagrant >/dev/null || groupadd -r vagrant
%{vagrant_dir}/test
%{vagrant_dir}/vagrant-spec.config.example.rb
+%files devel
+%{_rpmconfigdir}/macros.d/macros.%{name}
+
%changelog
+* Tue Nov 25 2014 Josef Stribny <jstribny@redhat.com> - 1.6.5-13
+- Create -devel sub-package
+
* Mon Nov 24 2014 Josef Stribny <jstribny@redhat.com> - 1.6.5-12
- Include monkey-patching for RubyGems and Bundler for now