bosh-gen 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,26 @@
1
1
  # Change Log
2
2
 
3
+ ## v0.8.0
4
+
5
+ Changed:
6
+
7
+ * `package` - the `packaging` script include default tar/configure/make sequence for all tarballs
8
+
9
+ For example, `bosh-gen package nginx -f ..../blobs/nginx/`, the resulting `packaging` is:
10
+
11
+ ``` bash
12
+ set -e # exit immediately if a simple command exits with a non-zero status
13
+ set -u # report the usage of uninitialized variables
14
+
15
+ export HOME=/var/vcap
16
+
17
+ tar xzf nginx/nginx-1.2.0.tar.gz
18
+ cd nginx-1.2.0
19
+ ./configure --prefix=${BOSH_INSTALL_TARGET}
20
+ make
21
+ make install
22
+ ```
23
+
3
24
  ## v0.7.0
4
25
 
5
26
  Added:
@@ -35,17 +35,38 @@ module Bosh::Gen
35
35
 
36
36
  def packaging
37
37
  create_file package_dir("packaging") do
38
- <<-SHELL.gsub(/^\s{10}/, '')
39
- # abort script on any command that exit with a non zero value
40
- set -e
38
+ packaging = <<-SHELL.gsub(/^\s{10}/, '')
39
+ set -e # exit immediately if a simple command exits with a non-zero status
40
+ set -u # report the usage of uninitialized variables
41
+
42
+ export HOME=/var/vcap
41
43
 
42
44
  SHELL
45
+
46
+ dependencies.each do |package|
47
+ packaging << "PATH=/var/vcap/packages/#{package}/bin:$PATH\n"
48
+ end
49
+
50
+ tarballs_in_files.each do |tarball_file|
51
+ package_file = File.basename(tarball_file)
52
+ unpacked_path = unpacked_path_for_tarball(tarball_file)
53
+
54
+ packaging << <<-SHELL.gsub(/^\s{12}/, '')
55
+
56
+ tar xzf #{name}/#{package_file}
57
+ cd #{unpacked_path}
58
+ ./configure --prefix=${BOSH_INSTALL_TARGET}
59
+ make
60
+ make install
61
+ SHELL
62
+ end
63
+ packaging
43
64
  end
44
65
 
45
66
  create_file package_dir("pre_packaging") do
46
67
  <<-SHELL.gsub(/^\s{10}/, '')
47
- # abort script on any command that exit with a non zero value
48
- set -e
68
+ set -e # exit immediately if a simple command exits with a non-zero status
69
+ set -u # report the usage of uninitialized variables
49
70
 
50
71
  SHELL
51
72
  end
@@ -101,6 +122,20 @@ module Bosh::Gen
101
122
  end
102
123
  end
103
124
  end
125
+
126
+ # Returns all .tar.gz in the files list
127
+ def tarballs_in_files
128
+ files.select { |file| file =~ /.tar.gz/ }
129
+ end
130
+
131
+ # If primary_package_file was mysql's client-5.1.62-rel13.3-435-Linux-x86_64.tar.gz
132
+ # then returns "client-5.1.62-rel13.3-435-Linux-x86_64"
133
+ #
134
+ # Assumes that first line of "tar tfz TARBALL" is the unpacking path
135
+ def unpacked_path_for_tarball(tarball_path)
136
+ file = `tar tfz #{tarball_path} | head -n 1`
137
+ File.basename(file.strip)
138
+ end
104
139
  end
105
140
  end
106
141
  end
@@ -1,5 +1,5 @@
1
1
  module Bosh
2
2
  module Gen
3
- VERSION = "0.7.0"
3
+ VERSION = "0.8.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bosh-gen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -209,7 +209,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
209
209
  version: '0'
210
210
  segments:
211
211
  - 0
212
- hash: 1843884671280331738
212
+ hash: -3406333594034376682
213
213
  required_rubygems_version: !ruby/object:Gem::Requirement
214
214
  none: false
215
215
  requirements:
@@ -218,7 +218,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
218
218
  version: '0'
219
219
  segments:
220
220
  - 0
221
- hash: 1843884671280331738
221
+ hash: -3406333594034376682
222
222
  requirements: []
223
223
  rubyforge_project:
224
224
  rubygems_version: 1.8.24