]>
Commit | Line | Data |
---|---|---|
2f2a2f85 ER |
1 | |
2 | # | |
3 | # Missing deps in Fedora: | |
4 | # | |
5 | # rubygem-log4r >= 1.1.9 < 2.0.0 | |
6 | # Fix: Build new package, bz905240 | |
7 | # | |
8 | # rubygem-childprocess >=0.3.1 < 0.4.0 (0.3.6 in rawhide) | |
9 | # Fix: Grab 0.3.6 package from rawhide | |
10 | # | |
11 | # rubygem-json >= 1.5.1, < 1.6.0 (1.6.5 in f18, 1.9.1 in rawhide) | |
12 | # Fix: Build rubygem-json15, roughly based on current package | |
13 | # | |
14 | # rubygem-net-ssh >= 2.2.2 < 2.3.0 (2.2.1 in rawhide) | |
15 | # Fix: Build 2.2.2 package based on current package | |
16 | # | |
17 | ||
18 | %define gem_name vagrant | |
19 | %define rubyabi 1.9.1 | |
20 | Summary: Provisioning and deployment of virtual instances | |
21 | Name: vagrant | |
22 | Version: 1.0.6 | |
23 | Release: 0.1 | |
24 | License: MIT | |
25 | Group: Applications/Emulators | |
26 | URL: http://vagrantup.com/ | |
27 | Source0: http://rubygems.org/downloads/%{gem_name}-%{version}.gem | |
28 | # Source0-md5: c84c240a9e62853336bd3f0f2532ad8a | |
29 | BuildRequires: git-core | |
30 | BuildRequires: ruby(abi) = %{rubyabi} | |
31 | #BuildRequires: rubygem(contest) >= 0.1.2 | |
32 | BuildRequires: rubygem(minitest) >= 2.5.1 | |
33 | BuildRequires: rubygem(mocha) | |
34 | BuildRequires: rubygem(rake) | |
35 | BuildRequires: rubygem(rspec-core) >= 2.8.0 | |
36 | BuildRequires: rubygem(rspec-expectations) >= 2.8.0 | |
37 | BuildRequires: rubygem(rspec-mocks) >= 2.8.0 | |
38 | BuildRequires: rubygems-devel | |
39 | Requires: ruby(abi) = %{rubyabi} | |
40 | Requires: ruby(rubygems) | |
41 | Requires: rubygem(archive-tar-minitar) = 0.5.2 | |
42 | Requires: rubygem(childprocess) >= 0.3.1 | |
43 | Requires: rubygem(erubis) >= 2.7.0 | |
44 | Requires: rubygem(i18n) >= 0.6.0 | |
45 | Requires: rubygem(log4r) >= 1.1.9 | |
46 | Requires: rubygem(net-scp) >= 1.0.4 | |
47 | Requires: rubygem(net-ssh) >= 2.2.2 | |
48 | Requires: rubygem-json15 | |
49 | BuildArch: noarch | |
50 | ||
51 | %description | |
52 | Vagrant offers scripted provisioning and deployment of virtual | |
53 | instances. While VirtualBox is the main target, future versions may | |
54 | support other hypervizors as well. | |
55 | ||
56 | The vision of the project is to create a tool to transparently manage | |
57 | all the complex parts of modern development within a virtual | |
58 | environment without affecting the everyday workflow of the developer | |
59 | too much. A long term goal is moving all development into virtualized | |
60 | environments by making it easier to do so than not to. Additionally, | |
61 | work is ongoing to have Vagrant run identically on every major | |
62 | consumer OS platform (Linux, Mac OS X, and Windows). | |
63 | ||
64 | %package doc | |
65 | Summary: Documentation for %{name} | |
66 | Group: Documentation | |
67 | Requires: %{name} = %{version}-%{release} | |
68 | %if "%{_rpmversion}" >= "5" | |
69 | BuildArch: noarch | |
70 | %endif | |
71 | ||
72 | %description doc | |
73 | Ruby documentation for %{gem_name} | |
74 | ||
75 | %prep | |
76 | gem unpack %{SOURCE0} | |
77 | %setup -q -D -T -n %{gem_name}-%{version} | |
78 | ||
79 | gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec | |
80 | ||
81 | %build | |
82 | mkdir -p ./%{gem_dir} | |
83 | ||
84 | # Create the gem as gem install only works on a gem file | |
85 | gem build %{gem_name}.gemspec | |
86 | ||
87 | export CONFIGURE_ARGS="--with-cflags='%{rpmcflags}'" | |
88 | # gem install compiles any C extensions and installs into a directory | |
89 | # We set that to be a local directory so that we can move it into the | |
90 | # buildroot in %%install | |
91 | gem install -V \ | |
92 | --local \ | |
93 | --install-dir ./%{gem_dir} \ | |
94 | --bindir ./%{_bindir} \ | |
95 | --force \ | |
96 | --rdoc \ | |
97 | %{SOURCE0} | |
98 | ||
99 | %install | |
100 | rm -rf $RPM_BUILD_ROOT | |
101 | install -d $RPM_BUILD_ROOT%{gem_dir} | |
102 | ||
103 | # Remove a few oddments | |
104 | rm .%{gem_instdir}/.gitignore | |
105 | rm .%{gem_instdir}/.yardopts | |
106 | ||
107 | # Just copy these out for putting in default fedora doc location later | |
108 | cp .%{gem_instdir}/LICENSE . | |
109 | cp .%{gem_instdir}/README.md . | |
110 | cp .%{gem_instdir}/CHANGELOG.md . | |
111 | ||
112 | # Programs/scripts | |
113 | install -d $RPM_BUILD_ROOT%{_bindir} | |
114 | mv -v ./bin/* $RPM_BUILD_ROOT%{_bindir} | |
115 | mv -v .%{gem_instdir}/bin/* $RPM_BUILD_ROOT%{_bindir} | |
116 | chmod +x .%{gem_instdir}/test/*/scripts/*.sh | |
117 | ||
118 | # Wrap up the rest | |
119 | cp -a ./%{gem_dir}/* $RPM_BUILD_ROOT%{gem_dir}/ | |
120 | ||
121 | %if %{with tests} | |
122 | cd .%{gem_instdir} | |
123 | ||
124 | # Just a hack, rspec misses this .gitignore(!) | |
125 | touch $RPM_BUILD_ROOT%{gem_instdir}/.gitignore | |
126 | rspec $RPM_BUILD_ROOT%{gem_instdir}/%{gem_name}.gemspec | |
127 | rm $RPM_BUILD_ROOT%{gem_instdir}/.gitignore | |
128 | %endif | |
129 | ||
130 | %clean | |
131 | rm -rf $RPM_BUILD_ROOT | |
132 | ||
133 | %files | |
134 | %defattr(644,root,root,755) | |
135 | %attr(755,root,root) %{_bindir}/vagrant | |
136 | %{gem_spec} | |
137 | %{gem_cache} | |
138 | %{gem_instdir}/lib | |
139 | %{gem_instdir}/test | |
140 | %{gem_instdir}/keys | |
141 | %{gem_instdir}/tasks | |
142 | %{gem_instdir}/contrib | |
143 | %{gem_instdir}/Gemfile | |
144 | %{gem_instdir}/Rakefile | |
145 | %{gem_instdir}/%{gem_name}.gemspec | |
146 | %config %{gem_instdir}/config | |
147 | ||
148 | # Put something in the default fedora documentation location | |
149 | %doc LICENSE | |
150 | %doc README.md | |
151 | %doc CHANGELOG.md | |
152 | ||
153 | # Ruby devs probably panic if these are not in place here as well | |
154 | %doc %{gem_instdir}/LICENSE | |
155 | %doc %{gem_instdir}/README.md | |
156 | %doc %{gem_instdir}/CHANGELOG.md | |
157 | ||
158 | %doc %{gem_instdir}/templates | |
159 | ||
160 | %files doc | |
161 | %defattr(644,root,root,755) | |
162 | %doc %{gem_docdir} |