omnibus 5.6.6 → 5.6.8
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.
- 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] %>
|