omnibus 5.6.6 → 5.6.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +0 -3
- data/lib/omnibus/version.rb +1 -1
- data/omnibus.gemspec +2 -4
- metadata +9 -46
- data/.expeditor/config.yml +0 -31
- data/.expeditor/update_version.sh +0 -12
- data/.github/CODEOWNERS +0 -3
- data/.github/ISSUE_TEMPLATE.md +0 -24
- data/.github/PULL_REQUEST_TEMPLATE.md +0 -16
- data/.gitignore +0 -151
- data/.rspec +0 -2
- data/.travis.yml +0 -26
- data/CHANGELOG.md +0 -802
- data/MAINTAINERS.md +0 -23
- data/VERSION +0 -1
- data/appveyor.yml +0 -39
- data/docs/Build Cache.md +0 -100
- data/docs/Building on Debian.md +0 -61
- data/docs/Building on OSX.md +0 -92
- data/docs/Building on RHEL.md +0 -75
- data/docs/Building on Windows.md +0 -57
- data/features/commands/build.feature +0 -42
- data/features/commands/clean.feature +0 -21
- data/features/commands/list.feature +0 -16
- data/features/commands/manifest.feature +0 -146
- data/features/commands/new.feature +0 -8
- data/features/commands/publish.feature +0 -15
- data/features/commands/version.feature +0 -12
- data/features/step_definitions/generator_steps.rb +0 -56
- data/features/support/env.rb +0 -15
- data/lib/omnibus/generator_files/.kitchen.local.yml.erb +0 -10
- data/lib/omnibus/generator_files/.kitchen.yml.erb +0 -44
@@ -1,42 +0,0 @@
|
|
1
|
-
Feature: omnibus build
|
2
|
-
Background:
|
3
|
-
Given I have an omnibus project named "hamlet"
|
4
|
-
|
5
|
-
Scenario: When the project does not exist
|
6
|
-
When I run `omnibus build bacon`
|
7
|
-
|
8
|
-
Then the output should contain:
|
9
|
-
"""
|
10
|
-
I could not find a project named `bacon' in any of the project locations:
|
11
|
-
"""
|
12
|
-
And the exit status should not be 0
|
13
|
-
|
14
|
-
# These scenarios don't work on appveyor due to no heat.exe/candle.exe/light.exe
|
15
|
-
# Scenario: When the project has no software definitions
|
16
|
-
# When I run `omnibus build hamlet`
|
17
|
-
#
|
18
|
-
# Then it should pass with "[Project: hamlet] I | Building version manifest"
|
19
|
-
# And the file "output/version-manifest.json" should exist
|
20
|
-
# And the file "output/version-manifest.txt" should exist
|
21
|
-
# And the file "output/LICENSE" should exist
|
22
|
-
# And the directory "output/LICENSES" should exist
|
23
|
-
#
|
24
|
-
# Scenario: When the project has a software definition
|
25
|
-
# Given a file "config/software/ophelia.rb" with:
|
26
|
-
# """
|
27
|
-
# name "ophelia"
|
28
|
-
# default_version "1.0.0"
|
29
|
-
# build do
|
30
|
-
# command "echo true > #{install_dir}/blah.txt"
|
31
|
-
# end
|
32
|
-
# """
|
33
|
-
# And I append to "config/projects/hamlet.rb" with "dependency 'ophelia'"
|
34
|
-
#
|
35
|
-
# When I run `omnibus build hamlet`
|
36
|
-
#
|
37
|
-
# Then it should pass with "[Builder: ophelia] I | $ echo true"
|
38
|
-
# And the file "output/blah.txt" should contain "true"
|
39
|
-
# And the file "output/version-manifest.json" should exist
|
40
|
-
# And the file "output/version-manifest.txt" should exist
|
41
|
-
# And the file "output/LICENSE" should exist
|
42
|
-
# And the directory "output/LICENSES" should exist
|
@@ -1,21 +0,0 @@
|
|
1
|
-
Feature: omnibus clean
|
2
|
-
Scenario: When a bad name is given
|
3
|
-
* I run `omnibus clean hamlet`
|
4
|
-
* the output should contain:
|
5
|
-
"""
|
6
|
-
I could not find a project named `hamlet' in any of the project locations:
|
7
|
-
"""
|
8
|
-
* the exit status should not be 0
|
9
|
-
|
10
|
-
Scenario: When the --purge option is given
|
11
|
-
* I have an omnibus project named "hamlet"
|
12
|
-
* I successfully run `omnibus clean hamlet --purge`
|
13
|
-
* the output should contain "remove output"
|
14
|
-
|
15
|
-
Scenario: When no options are given
|
16
|
-
* I have an omnibus project named "hamlet"
|
17
|
-
* I successfully run `omnibus clean hamlet`
|
18
|
-
* the output should not contain:
|
19
|
-
"""
|
20
|
-
remove output
|
21
|
-
"""
|
@@ -1,16 +0,0 @@
|
|
1
|
-
Feature: omnibus list
|
2
|
-
Scenario: When there are Omnibus projects
|
3
|
-
* I have an omnibus project named "hamlet"
|
4
|
-
* I successfully run `omnibus list`
|
5
|
-
* the output should contain:
|
6
|
-
"""
|
7
|
-
Omnibus projects:
|
8
|
-
* hamlet (1.0.0)
|
9
|
-
"""
|
10
|
-
|
11
|
-
Scenario: When there are no Omnibus projects
|
12
|
-
* I successfully run `omnibus list`
|
13
|
-
* the output should contain:
|
14
|
-
"""
|
15
|
-
There are no Omnibus projects!
|
16
|
-
"""
|
@@ -1,146 +0,0 @@
|
|
1
|
-
Feature: omnibus manifest
|
2
|
-
Background:
|
3
|
-
Given I have an omnibus project named "hamlet"
|
4
|
-
|
5
|
-
Scenario: When the project does not exist
|
6
|
-
When I run `omnibus manifest bacon`
|
7
|
-
|
8
|
-
Then the output should contain:
|
9
|
-
"""
|
10
|
-
I could not find a project named `bacon' in any of the project locations:
|
11
|
-
"""
|
12
|
-
And the exit status should not be 0
|
13
|
-
|
14
|
-
Scenario: When the project has no software definitions
|
15
|
-
When I run `omnibus manifest hamlet`
|
16
|
-
|
17
|
-
Then it should pass with "[Project: hamlet] I | "
|
18
|
-
|
19
|
-
And the output should match /^[Project: hamlet] I | \d\d\d\d-[0-1]\d-[0-3]\dT[0-2]\d:[0-6]\d:[0-6]\d(\+|\-)\d\d:\d\d | Building version manifest$/
|
20
|
-
|
21
|
-
And the output should contain:
|
22
|
-
"""
|
23
|
-
"software": {
|
24
|
-
|
25
|
-
},
|
26
|
-
"""
|
27
|
-
|
28
|
-
Scenario: When the project has a software definition
|
29
|
-
Given a file "config/software/ophelia.rb" with:
|
30
|
-
"""
|
31
|
-
name "ophelia"
|
32
|
-
default_version "1.0.0"
|
33
|
-
build do
|
34
|
-
command "echo true > #{install_dir}/blah.txt"
|
35
|
-
end
|
36
|
-
"""
|
37
|
-
And I append to "config/projects/hamlet.rb" with "dependency 'ophelia'"
|
38
|
-
|
39
|
-
When I run `omnibus manifest hamlet`
|
40
|
-
|
41
|
-
Then it should pass with "[Project: hamlet] I | "
|
42
|
-
|
43
|
-
And the output should match /^[Project: hamlet] I | \d\d\d\d-[0-1]\d-[0-3]\dT[0-2]\d:[0-6]\d:[0-6]\d(\+|\-)\d\d:\d\d | Building version manifest$/
|
44
|
-
And the output should contain:
|
45
|
-
"""
|
46
|
-
"software": {
|
47
|
-
"ophelia": {
|
48
|
-
"locked_version": "1.0.0",
|
49
|
-
"locked_source": null,
|
50
|
-
"source_type": "project_local",
|
51
|
-
"described_version": "1.0.0",
|
52
|
-
"license": "Unspecified"
|
53
|
-
}
|
54
|
-
},
|
55
|
-
"""
|
56
|
-
|
57
|
-
Scenario: When the project has a software definition
|
58
|
-
Given a file "config/software/ophelia.rb" with:
|
59
|
-
"""
|
60
|
-
name "ophelia"
|
61
|
-
default_version "1.0.0"
|
62
|
-
build do
|
63
|
-
command "echo true > #{install_dir}/blah.txt"
|
64
|
-
end
|
65
|
-
"""
|
66
|
-
And I append to "config/projects/hamlet.rb" with "dependency 'ophelia'"
|
67
|
-
|
68
|
-
When I run `omnibus manifest hamlet`
|
69
|
-
|
70
|
-
Then it should pass with "[Project: hamlet] I | "
|
71
|
-
|
72
|
-
And the output should match /^[Project: hamlet] I | \d\d\d\d-[0-1]\d-[0-3]\dT[0-2]\d:[0-6]\d:[0-6]\d(\+|\-)\d\d:\d\d | Building version manifest$/
|
73
|
-
|
74
|
-
And the output should contain:
|
75
|
-
"""
|
76
|
-
"software": {
|
77
|
-
"ophelia": {
|
78
|
-
"locked_version": "1.0.0",
|
79
|
-
"locked_source": null,
|
80
|
-
"source_type": "project_local",
|
81
|
-
"described_version": "1.0.0",
|
82
|
-
"license": "Unspecified"
|
83
|
-
}
|
84
|
-
},
|
85
|
-
"""
|
86
|
-
And the exit status should be 0
|
87
|
-
|
88
|
-
Scenario: When the project has a software definition whose version depends on the OS
|
89
|
-
Given a file "config/software/ophelia.rb" with:
|
90
|
-
"""
|
91
|
-
name "ophelia"
|
92
|
-
default_version (windows? ? "2.0.0" : "1.0.0")
|
93
|
-
build do
|
94
|
-
command "echo true > #{install_dir}/blah.txt"
|
95
|
-
end
|
96
|
-
"""
|
97
|
-
And I append to "config/projects/hamlet.rb" with "dependency 'ophelia'"
|
98
|
-
|
99
|
-
When I run `omnibus manifest hamlet --os=linux --platform_family=debian --platform=ubuntu --platform_version=14.04`
|
100
|
-
|
101
|
-
Then it should pass with "[Project: hamlet] I "
|
102
|
-
|
103
|
-
And the output should match /^[Project: hamlet] I | \d\d\d\d-[0-1]\d-[0-3]\dT[0-2]\d:[0-6]\d:[0-6]\d(\+|\-)\d\d:\d\d | Building version manifest$/
|
104
|
-
|
105
|
-
And the output should contain:
|
106
|
-
"""
|
107
|
-
"software": {
|
108
|
-
"ophelia": {
|
109
|
-
"locked_version": "1.0.0",
|
110
|
-
"locked_source": null,
|
111
|
-
"source_type": "project_local",
|
112
|
-
"described_version": "1.0.0",
|
113
|
-
"license": "Unspecified"
|
114
|
-
}
|
115
|
-
},
|
116
|
-
"""
|
117
|
-
|
118
|
-
Scenario: When the project has a software definition whose version depends on the OS
|
119
|
-
Given a file "config/software/ophelia.rb" with:
|
120
|
-
"""
|
121
|
-
name "ophelia"
|
122
|
-
default_version (windows? ? "2.0.0" : "1.0.0")
|
123
|
-
build do
|
124
|
-
command "echo true > #{install_dir}/blah.txt"
|
125
|
-
end
|
126
|
-
"""
|
127
|
-
And I append to "config/projects/hamlet.rb" with "dependency 'ophelia'"
|
128
|
-
|
129
|
-
When I run `omnibus manifest hamlet --os=windows --platform_family=windows --platform=windows --platform_version=2012r2`
|
130
|
-
|
131
|
-
Then it should pass with "[Project: hamlet] I | "
|
132
|
-
|
133
|
-
And the output should match /^[Project: hamlet] I | \d\d\d\d-[0-1]\d-[0-3]\dT[0-2]\d:[0-6]\d:[0-6]\d(\+|\-)\d\d:\d\d | Building version manifest$/
|
134
|
-
|
135
|
-
And the output should contain:
|
136
|
-
"""
|
137
|
-
"software": {
|
138
|
-
"ophelia": {
|
139
|
-
"locked_version": "2.0.0",
|
140
|
-
"locked_source": null,
|
141
|
-
"source_type": "project_local",
|
142
|
-
"described_version": "2.0.0",
|
143
|
-
"license": "Unspecified"
|
144
|
-
}
|
145
|
-
},
|
146
|
-
"""
|
@@ -1,8 +0,0 @@
|
|
1
|
-
Feature: omnibus new
|
2
|
-
Scenario: When the --path option is given
|
3
|
-
* I successfully run `omnibus new hamlet --path nested/path`
|
4
|
-
* a file named "nested/path/omnibus-hamlet/config/projects/hamlet.rb" should exist
|
5
|
-
|
6
|
-
Scenario: When no options are given
|
7
|
-
* I successfully run `omnibus new hamlet`
|
8
|
-
* a file named "omnibus-hamlet/config/projects/hamlet.rb" should exist
|
@@ -1,15 +0,0 @@
|
|
1
|
-
Feature: omnibus publish
|
2
|
-
Scenario: Providing platform mappings file
|
3
|
-
* I have a platform mappings file named "platform_mappings.json"
|
4
|
-
* I run `omnibus publish artifactory fake * --platform-mappings platform_mappings.json`
|
5
|
-
* the output should contain:
|
6
|
-
"""
|
7
|
-
Publishing will be performed using provided platform mappings.
|
8
|
-
"""
|
9
|
-
|
10
|
-
Scenario: When a user provides the deprecated `--version-manifest` flag
|
11
|
-
* I run `omnibus publish artifactory fake * --version-manifest /fake/path/version-manifest.json`
|
12
|
-
* the output should contain:
|
13
|
-
"""
|
14
|
-
The `--version-manifest' option has been deprecated. Version manifest data is now part of the `*.metadata.json' file
|
15
|
-
"""
|
@@ -1,12 +0,0 @@
|
|
1
|
-
Feature: omnibus version
|
2
|
-
Scenario: When the -v flag is specified
|
3
|
-
* I successfully run `omnibus -v`
|
4
|
-
* the output should match /^Omnibus v(.+)$/
|
5
|
-
|
6
|
-
Scenario: When the --version flag is specified
|
7
|
-
* I successfully run `omnibus --version`
|
8
|
-
* the output should match /^Omnibus v(.+)$/
|
9
|
-
|
10
|
-
Scenario: When the version command is given
|
11
|
-
* I successfully run `omnibus version`
|
12
|
-
* the output should match /^Omnibus v(.+)$/
|
@@ -1,56 +0,0 @@
|
|
1
|
-
require "aruba/api"
|
2
|
-
|
3
|
-
Given(/^I have an omnibus project named "(.+)"$/) do |name|
|
4
|
-
create_directory(name)
|
5
|
-
cd(name)
|
6
|
-
|
7
|
-
# Build target dir must be created
|
8
|
-
abs_path = expand_path(".")
|
9
|
-
|
10
|
-
# Single top level output dir
|
11
|
-
create_directory("output")
|
12
|
-
|
13
|
-
write_file("config/projects/#{name}.rb", <<-EOH.gsub(/^ {4}/, ""))
|
14
|
-
name '#{name}'
|
15
|
-
maintainer 'Mrs. Maintainer'
|
16
|
-
homepage 'https://example.com'
|
17
|
-
install_dir "#{abs_path}/output"
|
18
|
-
|
19
|
-
build_version '1.0.0'
|
20
|
-
|
21
|
-
exclude '\.git*'
|
22
|
-
exclude 'bundler\/git'
|
23
|
-
|
24
|
-
# This is necessary for Windows to pass.
|
25
|
-
package :msi do
|
26
|
-
upgrade_code "102FDF98-B9BF-4CE1-A716-2AB9CBCDA403"
|
27
|
-
end
|
28
|
-
EOH
|
29
|
-
|
30
|
-
write_file("omnibus.rb", <<-EOH.gsub(/^ {4}/, ""))
|
31
|
-
# Build configuration
|
32
|
-
append_timestamp false
|
33
|
-
cache_dir '#{abs_path}/local/omnibus/cache'
|
34
|
-
git_cache_dir '#{abs_path}/local/omnibus/cache/git_cache'
|
35
|
-
source_dir '#{abs_path}/local/omnibus/src'
|
36
|
-
build_dir '#{abs_path}/local/omnibus/build'
|
37
|
-
package_dir '#{abs_path}/local/omnibus/pkg'
|
38
|
-
package_tmp '#{abs_path}/local/omnibus/pkg-tmp'
|
39
|
-
EOH
|
40
|
-
end
|
41
|
-
|
42
|
-
Given(/^I debug$/) do
|
43
|
-
require "pry"
|
44
|
-
end
|
45
|
-
|
46
|
-
Given(/^I have a platform mappings file named "(.+)"$/) do |name|
|
47
|
-
write_file(name, <<-EOH.gsub(/^ {4}/, ""))
|
48
|
-
{
|
49
|
-
"ubuntu-10.04": [
|
50
|
-
"ubuntu-10.04",
|
51
|
-
"ubuntu-12.04",
|
52
|
-
"ubuntu-14.04"
|
53
|
-
]
|
54
|
-
}
|
55
|
-
EOH
|
56
|
-
end
|
data/features/support/env.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
require "aruba"
|
2
|
-
require "aruba/cucumber"
|
3
|
-
require "aruba/in_process"
|
4
|
-
|
5
|
-
require "omnibus/cli"
|
6
|
-
|
7
|
-
Aruba.configure do |config|
|
8
|
-
config.command_launcher = :in_process
|
9
|
-
config.main_class = Omnibus::CLI::Runner
|
10
|
-
end
|
11
|
-
|
12
|
-
Before do
|
13
|
-
# Reset anything that might have been cached in the Omnibus project
|
14
|
-
Omnibus.reset!(true)
|
15
|
-
end
|
@@ -1,10 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# The .kitchen.local.yml takes preference and is compiled into the top-level
|
3
|
-
# .kitchen.yml. Uncomment the following section to use VMWare Fusion instead of
|
4
|
-
# the default Vagrant driver of VirtualBox.
|
5
|
-
#
|
6
|
-
|
7
|
-
# driver:
|
8
|
-
# provider: vmware_fusion
|
9
|
-
# customize:
|
10
|
-
# memsize: 4096
|
@@ -1,44 +0,0 @@
|
|
1
|
-
driver:
|
2
|
-
name: vagrant
|
3
|
-
forward_agent: yes
|
4
|
-
customize:
|
5
|
-
cpus: 2
|
6
|
-
memory: 2048
|
7
|
-
synced_folders:
|
8
|
-
- ['.', '/home/vagrant/<%= config[:name] %>']
|
9
|
-
|
10
|
-
provisioner:
|
11
|
-
name: chef_zero
|
12
|
-
require_chef_omnibus: 12.4.1
|
13
|
-
|
14
|
-
platforms:
|
15
|
-
- name: centos-7.1
|
16
|
-
run_list: yum-epel::default
|
17
|
-
- name: centos-6.6
|
18
|
-
run_list: yum-epel::default
|
19
|
-
- name: centos-5.11
|
20
|
-
run_list: yum-epel::default
|
21
|
-
- name: debian-7.8
|
22
|
-
run_list: apt::default
|
23
|
-
- name: debian-6.0.10
|
24
|
-
run_list: apt::default
|
25
|
-
- name: freebsd-10.1
|
26
|
-
run_list: freebsd::portsnap
|
27
|
-
- name: freebsd-9.3
|
28
|
-
run_list:
|
29
|
-
- freebsd::portsnap
|
30
|
-
- freebsd::pkgng
|
31
|
-
- name: ubuntu-14.04
|
32
|
-
run_list: apt::default
|
33
|
-
- name: ubuntu-12.04
|
34
|
-
run_list: apt::default
|
35
|
-
|
36
|
-
suites:
|
37
|
-
- name: default
|
38
|
-
run_list: omnibus::default
|
39
|
-
attributes:
|
40
|
-
omnibus:
|
41
|
-
build_user: vagrant
|
42
|
-
build_user_group: vagrant
|
43
|
-
build_user_password: vagrant
|
44
|
-
install_dir: /opt/<%= config[:name] %>
|