]> git.pld-linux.org Git - packages/vagrant.git/blame - vagrant.spec
up to 1.5.4, updated deps
[packages/vagrant.git] / vagrant.spec
CommitLineData
289fa4b8
ER
1# NOTE:
2# - release notes: https://github.com/mitchellh/vagrant/blob/master/CHANGELOG.md
2f2a2f85
ER
3Summary: Provisioning and deployment of virtual instances
4Name: vagrant
0876e579
ER
5Version: 1.5.4
6Release: 0.3
2f2a2f85
ER
7License: MIT
8Group: Applications/Emulators
739d81cd 9Source0: https://github.com/mitchellh/vagrant/archive/v%{version}/%{name}-%{version}.tar.gz
0876e579 10# Source0-md5: f6c22ddf494b3bcd860a751e38a8ef1c
1539a824
ER
11Patch0: source_root.patch
12Patch1: rubygems.patch
13Patch2: no-warning.patch
cec5282a 14Patch3: %{name}file-shell-provision.patch
30485291 15URL: http://www.vagrantup.com/
844c04d1 16BuildRequires: bash
ccb4e738 17BuildRequires: rpm-rubyprov
0876e579 18%if %{with tests}
1539a824
ER
19BuildRequires: ruby-contest >= 0.1.2
20BuildRequires: ruby-minitest >= 2.5.1
21BuildRequires: ruby-mocha
22BuildRequires: ruby-rake
0876e579
ER
23BuildRequires: ruby-rspec >= 2.14.0
24%endif
91fbc1b0
ER
25Requires: VirtualBox
26Requires: bsdtar
7aa78a1a 27Requires: curl
cec5282a
ER
28Requires: ruby-bundler >= 1.5.2
29Requires: ruby-childprocess >= 0.5.0
1539a824
ER
30Requires: ruby-erubis >= 2.7.0
31Requires: ruby-i18n >= 0.6.0
0876e579 32Requires: ruby-listen >= 2.7.1
cec5282a 33Requires: ruby-log4r < 1.1.11
844c04d1 34Requires: ruby-log4r >= 1.1.9
1539a824 35Requires: ruby-net-scp >= 1.1.0
0876e579 36Requires: ruby-net-ssh < 2.8.0
1539a824
ER
37Requires: ruby-net-ssh >= 2.6.6
38Requires: ruby-rubygems
39BuildArch: noarch
32f7fb06
ER
40BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
41
1539a824 42%define _appdir %{_datadir}/%{name}
196c9fce 43%define bash_compdir %{_datadir}/bash-completion/completions
32f7fb06 44
d9278297 45%define vg_home /home/vagrant
289fa4b8 46%define vg_root /vagrant
d9278297 47
2f2a2f85
ER
48%description
49Vagrant offers scripted provisioning and deployment of virtual
50instances. While VirtualBox is the main target, future versions may
51support other hypervizors as well.
52
53The vision of the project is to create a tool to transparently manage
54all the complex parts of modern development within a virtual
55environment without affecting the everyday workflow of the developer
56too much. A long term goal is moving all development into virtualized
57environments by making it easier to do so than not to. Additionally,
58work is ongoing to have Vagrant run identically on every major
59consumer OS platform (Linux, Mac OS X, and Windows).
60
ff67adbf
ER
61%package -n bash-completion-%{name}
62Summary: bash-completion for %{name}
63Group: Applications/Shells
64Requires: %{name}
196c9fce 65Requires: bash-completion >= 2.0
ff67adbf
ER
66
67%description -n bash-completion-%{name}
68bash-completion for %{name}.
69
d9278297
ER
70%package guest
71Summary: Vagrant guest
72Group: Development/Building
062cfa5f 73URL: http://docs-v1.vagrantup.com/v1/docs/base_boxes.html
d9278297
ER
74Requires(postun): /usr/sbin/userdel
75Requires(pre): /bin/id
76Requires(pre): /usr/bin/getgid
77Requires(pre): /usr/sbin/groupadd
78Requires(pre): /usr/sbin/useradd
bf59fba0 79Requires: /etc/pld-release
062cfa5f 80Requires: kernel(vboxsf)
d9278297 81Requires: openssh-server
30485291 82Requires: sudo >= 1.7.4p3-2
cee8b635 83Requires: which
d9278297
ER
84Provides: group(vagrant)
85Provides: user(vagrant)
d9278297
ER
86
87%description guest
88This is the package to be installed in Vagrant guest.
89
90WARNING: This package installs insecure keypair to vagant user. Do not
91install this package in a box that is accessible others but you.
92
93These keys are the "insecure" public/private keypair we offer to base
94box creators for use in their base boxes so that vagrant installations
95can automatically SSH into the boxes.
96
97See: <https://github.com/mitchellh/vagrant/tree/master/keys/>.
98
2f2a2f85
ER
99%package doc
100Summary: Documentation for %{name}
101Group: Documentation
102Requires: %{name} = %{version}-%{release}
2f2a2f85
ER
103
104%description doc
105Ruby documentation for %{gem_name}
106
107%prep
1539a824
ER
108%setup -q
109%patch0 -p1
110%patch1 -p1
111%patch2 -p1
ca9ac262 112%patch3 -p1
a08aa0c6 113
196c9fce
ER
114# cleanup backups after patching
115find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
116
2f2a2f85
ER
117%install
118rm -rf $RPM_BUILD_ROOT
1539a824
ER
119install -d $RPM_BUILD_ROOT{%{ruby_vendorlibdir},%{_bindir},%{_appdir}}
120cp -a bin/* $RPM_BUILD_ROOT%{_bindir}
121cp -a lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir}
cec5282a 122cp -a keys plugins templates $RPM_BUILD_ROOT%{_appdir}
062cfa5f 123
196c9fce 124install -d $RPM_BUILD_ROOT%{bash_compdir}
844c04d1 125cp -p contrib/bash/completion.sh $RPM_BUILD_ROOT%{bash_compdir}/%{name}
ff67adbf 126
d9278297 127# guest
cc40b6fa
ER
128install -d $RPM_BUILD_ROOT/etc/sudoers.d
129echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > $RPM_BUILD_ROOT/etc/sudoers.d/%{name}
130
289fa4b8 131install -d $RPM_BUILD_ROOT{%{vg_root},%{vg_home}/.ssh}
844c04d1 132cp -p /etc/skel/.bash* $RPM_BUILD_ROOT%{vg_home}
2f2a2f85 133
062cfa5f
ER
134# Since Vagrant only supports key-based authentication for SSH, we must
135# set up the vagrant user to use key-based authentication. We can get the
136# public key used by the Vagrant gem directly from its Github repository.
1539a824 137cp -p keys/vagrant.pub $RPM_BUILD_ROOT%{vg_home}/.ssh/authorized_keys
062cfa5f 138
2f2a2f85
ER
139%clean
140rm -rf $RPM_BUILD_ROOT
141
d9278297 142%pre guest
42a30f36
ER
143%groupadd -g 291 vagrant
144%useradd -u 291 -g vagrant -G wheel -c "Vagrant user" -s /bin/bash -d %{vg_home} vagrant
d9278297
ER
145
146%postun guest
147if [ "$1" = "0" ]; then
148 %userremove vagrant
149 %groupremove vagrant
150fi
151
2f2a2f85
ER
152%files
153%defattr(644,root,root,755)
154%attr(755,root,root) %{_bindir}/vagrant
1539a824
ER
155%{ruby_vendorlibdir}/vagrant.rb
156%{ruby_vendorlibdir}/vagrant
32f7fb06 157%{_appdir}
d9278297 158
ff67adbf
ER
159%files -n bash-completion-%{name}
160%defattr(644,root,root,755)
196c9fce 161%{bash_compdir}/%{name}
ff67adbf 162
d9278297
ER
163%files guest
164%defattr(644,root,root,755)
cc40b6fa 165%attr(440,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sudoers.d/%{name}
d9278297
ER
166%dir %attr(750,vagrant,vagrant) %{vg_home}
167%dir %attr(700,vagrant,vagrant) %{vg_home}/.ssh
062cfa5f 168%attr(600,vagrant,vagrant) %config(noreplace) %verify(not md5 mtime size) %{vg_home}/.ssh/authorized_keys
d9278297 169%dir %attr(640,vagrant,vagrant) %{vg_home}/.bash*
289fa4b8 170%dir %attr(700,root,root) %{vg_root}
32f7fb06
ER
171
172%if 0
2f2a2f85
ER
173%files doc
174%defattr(644,root,root,755)
175%doc %{gem_docdir}
32f7fb06 176%endif
This page took 0.050435 seconds and 4 git commands to generate.