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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 71f2ae10f52145f7642fc97328ef8dbe9a2124aeae94d4f937285d8a0c433237
4
- data.tar.gz: 96984676c415146364c059c68097247ef05c5b82198bce8fe241276509b921ff
3
+ metadata.gz: b3b98ec448a2bcbb28613d54850b2d4856a13b4f35d453ebea73dafb27f165b3
4
+ data.tar.gz: 356c26580d6cc0b6a6b710040f8078f4f0df8e7e5173050cf7eeead22c599b2c
5
5
  SHA512:
6
- metadata.gz: f5c09bce7a955067eb2e487a4e5debc44f2cbf57fb29a62cb1f331130b9170228845098f9acc615122cacac4b7e51b296c66401c64f7bbf8819681b101693ede
7
- data.tar.gz: c9be0cfa0ec4fb0b59a6f1741a240a7a1ade7664e462dd6bec5eba2bbfbb967bb6d0fb6932544b6628b39864e187e1456521086b599e049a6d39c4c4bd824584
6
+ metadata.gz: 5a73e6e8f31fcd9e72549fccd62b54ba732875307ed2eb8307ee3af2c608bd76bb5a9b7ffef186c25eaf90ee432742b707208f4bc18fa029f8cf9ea59598d263
7
+ data.tar.gz: 02d52908f685a6045aaaee87ec236cae0c8dd52d307c2939d46af8ad4cfc90f7c2416c759e552322e55055ea892fe4519af292b6d94e682e209449aaf1b78c7d
data/Gemfile CHANGED
@@ -1,9 +1,6 @@
1
1
  source "https://rubygems.org"
2
2
  gemspec
3
3
 
4
- # Always use license_scout from master
5
- gem "license_scout", git: "https://github.com/chef/license_scout"
6
-
7
4
  # net-ssh 4.x does not work with Ruby 2.2 on Windows. Chef and ChefDK
8
5
  # are pinned to 3.2 so pinning that here. Only used by fauxhai in this project
9
6
  gem "net-ssh", "3.2.0"
@@ -15,5 +15,5 @@
15
15
  #
16
16
 
17
17
  module Omnibus
18
- VERSION = "5.6.6"
18
+ VERSION = "5.6.8"
19
19
  end
@@ -15,7 +15,7 @@ Gem::Specification.new do |gem|
15
15
 
16
16
  gem.required_ruby_version = ">= 2.2"
17
17
 
18
- gem.files = `git ls-files`.split($/)
18
+ gem.files = %w{ LICENSE README.md Rakefile Gemfile } + Dir.glob("*.gemspec") + Dir.glob("{bin,lib,resources,spec}/**/*")
19
19
  gem.bindir = "bin"
20
20
  gem.executables = %w{omnibus}
21
21
  gem.test_files = gem.files.grep(/^(test|spec|features)\//)
@@ -29,13 +29,11 @@ Gem::Specification.new do |gem|
29
29
  gem.add_dependency "ohai", "~> 8.0"
30
30
  gem.add_dependency "ruby-progressbar", "~> 1.7"
31
31
  gem.add_dependency "thor", "~> 0.18"
32
+ gem.add_dependency "license_scout", "~> 1.0"
32
33
 
33
34
  gem.add_dependency "mixlib-versioning"
34
35
  gem.add_dependency "pedump"
35
36
 
36
- # from Gemfile
37
- gem.add_dependency "license_scout"
38
-
39
37
  gem.add_development_dependency "bundler"
40
38
  gem.add_development_dependency "artifactory", "~> 2.0"
41
39
  gem.add_development_dependency "aruba", "~> 0.5"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omnibus
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.6.6
4
+ version: 5.6.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chef Software, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-30 00:00:00.000000000 Z
11
+ date: 2018-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk
@@ -123,21 +123,21 @@ dependencies:
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0.18'
125
125
  - !ruby/object:Gem::Dependency
126
- name: mixlib-versioning
126
+ name: license_scout
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ">="
129
+ - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: '0'
131
+ version: '1.0'
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ">="
136
+ - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: '0'
138
+ version: '1.0'
139
139
  - !ruby/object:Gem::Dependency
140
- name: pedump
140
+ name: mixlib-versioning
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - ">="
@@ -151,7 +151,7 @@ dependencies:
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
- name: license_scout
154
+ name: pedump
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - ">="
@@ -340,37 +340,11 @@ executables:
340
340
  extensions: []
341
341
  extra_rdoc_files: []
342
342
  files:
343
- - ".expeditor/config.yml"
344
- - ".expeditor/update_version.sh"
345
- - ".github/CODEOWNERS"
346
- - ".github/ISSUE_TEMPLATE.md"
347
- - ".github/PULL_REQUEST_TEMPLATE.md"
348
- - ".gitignore"
349
- - ".rspec"
350
- - ".travis.yml"
351
- - CHANGELOG.md
352
343
  - Gemfile
353
344
  - LICENSE
354
- - MAINTAINERS.md
355
345
  - README.md
356
346
  - Rakefile
357
- - VERSION
358
- - appveyor.yml
359
347
  - bin/omnibus
360
- - docs/Build Cache.md
361
- - docs/Building on Debian.md
362
- - docs/Building on OSX.md
363
- - docs/Building on RHEL.md
364
- - docs/Building on Windows.md
365
- - features/commands/build.feature
366
- - features/commands/clean.feature
367
- - features/commands/list.feature
368
- - features/commands/manifest.feature
369
- - features/commands/new.feature
370
- - features/commands/publish.feature
371
- - features/commands/version.feature
372
- - features/step_definitions/generator_steps.rb
373
- - features/support/env.rb
374
348
  - lib/omnibus.rb
375
349
  - lib/omnibus/assets/README-logo.png
376
350
  - lib/omnibus/assets/logo.psd
@@ -404,8 +378,6 @@ files:
404
378
  - lib/omnibus/fetchers/path_fetcher.rb
405
379
  - lib/omnibus/file_syncer.rb
406
380
  - lib/omnibus/generator.rb
407
- - lib/omnibus/generator_files/.kitchen.local.yml.erb
408
- - lib/omnibus/generator_files/.kitchen.yml.erb
409
381
  - lib/omnibus/generator_files/Berksfile.erb
410
382
  - lib/omnibus/generator_files/Gemfile.erb
411
383
  - lib/omnibus/generator_files/README.md.erb
@@ -601,15 +573,6 @@ specification_version: 4
601
573
  summary: Omnibus is a framework for building self-installing, full-stack software
602
574
  builds.
603
575
  test_files:
604
- - features/commands/build.feature
605
- - features/commands/clean.feature
606
- - features/commands/list.feature
607
- - features/commands/manifest.feature
608
- - features/commands/new.feature
609
- - features/commands/publish.feature
610
- - features/commands/version.feature
611
- - features/step_definitions/generator_steps.rb
612
- - features/support/env.rb
613
576
  - spec/fixtures/licensing/license_scout/snoopy/ruby_bundler-bundler-audit-0.5.0-COPYING.txt
614
577
  - spec/fixtures/licensing/license_scout/snoopy/ruby_bundler-inifile-3.0.0-README.md
615
578
  - spec/fixtures/licensing/license_scout/snoopy/snoopy-dependency-licenses.json
@@ -1,31 +0,0 @@
1
- slack:
2
- notify_channel: omnibus-rfr
3
-
4
- github:
5
- maintainer_group: chef/omnibus-maintainers
6
- version_tag_format: "v{{version}}"
7
- minor_bump_labels:
8
- - "Version: Bump Minor"
9
-
10
- rubygems:
11
- - omnibus
12
-
13
- merge_actions:
14
- - built_in:bump_version:
15
- ignore_labels:
16
- - "Version: Skip Bump"
17
- - "Expeditor: Skip All"
18
- - bash:.expeditor/update_version.sh:
19
- only_if:
20
- - built_in:bump_version
21
- - built_in:update_changelog:
22
- ignore_labels:
23
- - "Changelog: Skip Update"
24
- - "Expeditor: Skip All"
25
- - built_in:build_gem:
26
- only_if:
27
- - built_in:bump_version
28
-
29
- promote:
30
- action:
31
- - built_in:publish_rubygems
@@ -1,12 +0,0 @@
1
- #!/bin/sh
2
- #
3
- # After a PR merge, Chef Expeditor will bump the PATCH version in the VERSION file.
4
- # It then executes this file to update any other files/components with that new version.
5
- #
6
-
7
- set -evx
8
-
9
- sed -i -r "s/^(\s*)VERSION = \".+\"/\1VERSION = \"$(cat VERSION)\"/" lib/omnibus/version.rb
10
-
11
- # Once Expeditor finshes executing this script, it will commit the changes and push
12
- # the commit as a new tag corresponding to the value in the VERSION file.
@@ -1,3 +0,0 @@
1
- # Order is important. The last matching pattern has the most precedence.
2
-
3
- * @chef/omnibus-maintainers
@@ -1,24 +0,0 @@
1
- ### Description
2
-
3
- Briefly describe the issue
4
-
5
- ### Omnibus Version
6
-
7
- Tell us which version of Omnibus you are using
8
-
9
- ### Platform Version
10
-
11
- Tell us which Operating System distribution, version and architecture the Omnibus build is being executed on.
12
-
13
- ### Replication Case
14
-
15
- Tell us what steps to take to replicate your problem. See [How to create a Minimal, Complete, and Verifiable example](https://stackoverflow.com/help/mcve)
16
- for information on how to create a good replication case.
17
-
18
- ### Build Output
19
-
20
- The relevant output of the Omnibus build or a link to a gist of the entire build, if there is one.
21
-
22
- The verbose build output (`omnibus build <PROJECT> -l internal`) may be useful, but please link to a gist, or truncate it.
23
-
24
- --------------------------------------------------
@@ -1,16 +0,0 @@
1
- ### Description
2
-
3
- Briefly describe the new feature or fix here
4
-
5
- --------------------------------------------------
6
-
7
- #### Maintainers
8
-
9
- Please ensure that you check for:
10
-
11
- - [] If this change impacts git cache validity, it bumps the git cache
12
- serial number
13
- - [] If this change impacts compatibility with omnibus-software, the
14
- corresponding change is reviewed and there is a release plan
15
- - [] If this change impacts compatibility with the omnibus cookbook, the
16
- corresponding change is reviewed and there is a release plan
data/.gitignore DELETED
@@ -1,151 +0,0 @@
1
- ### OSX ###
2
- .DS_Store
3
- .AppleDouble
4
- .LSOverride
5
-
6
- # Icon must end with two \r
7
- Icon
8
-
9
-
10
- # Thumbnails
11
- ._*
12
-
13
- # Files that might appear on external disk
14
- .Spotlight-V100
15
- .Trashes
16
-
17
- # Directories potentially created on remote AFP share
18
- .AppleDB
19
- .AppleDesktop
20
- Network Trash Folder
21
- Temporary Items
22
- .apdisk
23
-
24
-
25
- ### Windows ###
26
- # Windows image file caches
27
- Thumbs.db
28
- ehthumbs.db
29
-
30
- # Folder config file
31
- Desktop.ini
32
-
33
- # Recycle Bin used on file shares
34
- $RECYCLE.BIN/
35
-
36
- # Windows Installer files
37
- *.cab
38
- *.msi
39
- *.msm
40
- *.msp
41
-
42
-
43
- ### Ruby ###
44
- *.gem
45
- *.rbc
46
- /.config
47
- /coverage/
48
- /InstalledFiles
49
- /pkg/
50
- /spec/reports/
51
- /test/tmp/
52
- /test/version_tmp/
53
- /tmp/
54
- /spec/tmp
55
- gem_graph.png
56
-
57
- ## Specific to RubyMotion:
58
- .dat*
59
- .repl_history
60
- build/
61
-
62
- ## Documentation cache and generated files:
63
- /.yardoc/
64
- /_yardoc/
65
- /doc/
66
- /rdoc/
67
-
68
- ## Environment normalisation:
69
- /.bundle/
70
- /lib/bundler/man/
71
-
72
- # for a library or gem, you might want to ignore these files since the code is
73
- # intended to run in multiple environments; otherwise, check them in:
74
- Gemfile.lock
75
- .ruby-version
76
- .ruby-gemset
77
-
78
- # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
79
- .rvmrc
80
-
81
-
82
- ### TextMate ###
83
- *.tmproj
84
- *.tmproject
85
- tmtags
86
-
87
- # avoid generic ctags files too
88
- tags
89
- gems.tags
90
- gemtags
91
- .tags
92
- .gem.tags
93
- .gemtags
94
- .tags_sorted_by_file
95
-
96
- ### SublimeText ###
97
- # workspace files are user-specific
98
- *.sublime-workspace
99
-
100
- # project files should be checked into the repository, unless a significant
101
- # proportion of contributors will probably not be using SublimeText
102
- # *.sublime-project
103
-
104
- #sftp configuration file
105
- sftp-config.json
106
-
107
-
108
- ### Tower ###
109
- # Tower.app - http://www.git-tower.com/
110
- Icon.png
111
-
112
-
113
- ### vim ###
114
- [._]*.s[a-w][a-z]
115
- [._]s[a-w][a-z]
116
- *.un~
117
- Session.vim
118
- .netrwhist
119
- *~
120
-
121
-
122
- ### Emacs ###
123
- # -*- mode: gitignore; -*-
124
- *~
125
- \#*\#
126
- /.emacs.desktop
127
- /.emacs.desktop.lock
128
- *.elc
129
- auto-save-list
130
- tramp
131
- .\#*
132
-
133
- # Org-mode
134
- .org-id-locations
135
- *_archive
136
-
137
- # flymake-mode
138
- *_flymake.*
139
-
140
- # eshell files
141
- /eshell/history
142
- /eshell/lastdir
143
-
144
- # elpa packages
145
- /elpa/
146
-
147
- # reftex files
148
- *.rel
149
-
150
- # AUCTeX auto folder
151
- /auto/
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --color
2
- -fd
@@ -1,26 +0,0 @@
1
- sudo: false
2
- rvm:
3
- - 2.2.7
4
- - 2.3.4
5
- - 2.4.1
6
- bundler_args: "--jobs 7 --without docs local"
7
- branches:
8
- only:
9
- - 2.0-stable
10
- - 3.0-stable
11
- - master
12
- before_install:
13
- - gem update --system
14
- - gem install bundler
15
- before_script:
16
- - git config --global user.email "clouseau@chef.io"
17
- - git config --global user.name "Pink Panther"
18
- script: bundle exec rake travis:ci
19
- notifications:
20
- slack:
21
- on_change: true
22
- on_failure: true
23
- on_success: false
24
- on_pull_requests: false
25
- rooms:
26
- secure: udLCoBl71xJBsW3P+YqZbA5xfaB8l4IIF6SKEXpjIUYNYyP6m77uoY9PZ/M/5EN1ojPXDxsZ6SiPEJifVpkX5Hqd0eu1MwWyRXvOwiDf/nkg2Y3mqwUQRb3LDYWZxPn+xp5mHePe3mvTICR1zH49yx7fdZs8Qvzhh3Lno/w/qZ4=
@@ -1,802 +0,0 @@
1
- <!-- usage documentation: http://expeditor-docs.es.chef.io/configuration/changelog/ -->
2
-
3
- <!-- latest_release 5.6.6 -->
4
- ## [v5.6.6](https://github.com/chef/omnibus/tree/v5.6.6) (2018-01-30)
5
-
6
- #### Merged Pull Requests
7
- - Empty commit to force release trigger [#817](https://github.com/chef/omnibus/pull/817) ([scotthain](https://github.com/scotthain))
8
- <!-- latest_release -->
9
-
10
- ## [v5.6.5](https://github.com/chef/omnibus/tree/v5.6.5) (2018-01-30)
11
-
12
- #### Merged Pull Requests
13
- - Add config to allow rubygems publish and promote [#816](https://github.com/chef/omnibus/pull/816) ([scotthain](https://github.com/scotthain))
14
-
15
- ## [v5.6.4](https://github.com/chef/omnibus/tree/v5.6.4) (2018-01-29)
16
-
17
- #### Merged Pull Requests
18
- - Update custom action and support MSIFASTINSTALL property [#815](https://github.com/chef/omnibus/pull/815) ([stuartpreston](https://github.com/stuartpreston))
19
-
20
- ## [v5.6.3](https://github.com/chef/omnibus/tree/v5.6.3) (2018-01-26)
21
-
22
- #### Merged Pull Requests
23
- - sometimes we just need to gorram make a link [#814](https://github.com/chef/omnibus/pull/814) ([thommay](https://github.com/thommay))
24
-
25
- ## [v5.6.2](https://github.com/chef/omnibus/tree/v5.6.2) (2018-01-25)
26
-
27
- #### Merged Pull Requests
28
- - Whitelist Foundation framework [#813](https://github.com/chef/omnibus/pull/813) ([thommay](https://github.com/thommay))
29
-
30
- v5.6.1 (June 22, 2017)
31
- ----------------------
32
- ### Bug Fixes
33
- - S3 cache: fix bug using access_key_id/secret_access_key (#786)
34
-
35
- v5.6.0 (June 20, 2017)
36
- ----------------------
37
- ### New Features
38
- - Add AWS Shared Credentials support.(#781)
39
- - Add option to build command to populate S3 cache. (#781)
40
- - Add strip BuildCommand. (#775)
41
- - Add support for building against omnibus-toolchain on Windows. (#759)
42
- - Don't require build user to have a configured Git identity (#758)
43
- - Added endpoint and S3 transfer acceleration as config options (#736)
44
- - Only checkout from git_cache once (#747)
45
- - IPS: Add version-lock facet at end of manifest (#745)
46
- - Alpine Linux Support (#744)
47
- - Add fips_mode flags (#742)
48
- - SmartOS pkgsrc support (#733)
49
- - Make DEB and RPM compression configurable (#738)
50
- - Check for the transitive dependency licensing errors during post_build. (#729)
51
- - Enable gcc 4.8 on suse/sles if available (#720)
52
- - Allow manually specify transitive dependency license information (#712)
53
-
54
- ### Bug Fixes
55
- - Various bugfixes for APPX support. (#752, #759)
56
- - Expose overrides. (#780)
57
- - Fixed documentation links and table in README (#769, #778)
58
- - Fixed Travis CI Label (#777)
59
- - git_cache fixes: Use `.join` on git commands lines to avoid mangle and set
60
- `core.ingorecase=false` (#768)
61
- - Ignore paths with braces in the BFF packager. (#771)
62
- - Switch from single to double quotes in git config. (#767)
63
- - Fixed Windows globbing. (#766)
64
- - Update pedump to latest released. (#714)
65
- - Retry git network operations by default (#753)
66
- - Fix guard for non-caching projects (#751)
67
- - DMG bug fixes (#748)
68
- - IPS Package fixes (#718, #728, #740)
69
- - Artifactory publisher fixes/improvements (#725)
70
- - Do not autoload fetcher to avoid eace condition (#715)
71
-
72
- v5.5.0 (August 16, 2016)
73
- -----------------------
74
- ### New Features
75
- - Add build timings to the local output (#669)
76
- - Add `appx` packager (#675, #676, #677)
77
- - `fatal_licensing_warnings` configuration to fail the build when there are licensing problems (#678)
78
- - Ensure consistent code style using Chefstyle \o/ (#681)
79
- - Drop Ruby 2.0 support (#697)
80
- - Remove fakeroot from RPM packager (#698)
81
- - Support license collection with git cache (#700)
82
- - Add `SERIAL_NUMBER` to omnibus code, which is used in git caching to invalidate caches when omnibus code changes require it to be invalidated (#704)
83
- - Support license collection of transitive dependencies (via license_scout gem) (#705)
84
- - Add `skip_transitive_dependency_licensing` dsl method to Software. Use this when the software does not use any dependency manager. (#705)
85
-
86
- ### Bug Fixes
87
- - Make license files readable inside the packages (#673)
88
- - Prefer server marketing names on windows (#679)
89
- - Instead of exe, use bat if present on windows (#684)
90
- - Fix changelog generation with symbolized keys (#687)
91
-
92
-
93
- v5.4.0 (April 18, 2016)
94
- -----------------------
95
- ### New Features
96
- - Include license and version manifest in generated `*.metadata.json` (#656)
97
- - Deprecate the `--version-manifest` on `omnibus publish` (#656)
98
- - Create Solaris IPS package (#654)
99
- - Use symbolized keys for all Manifest hashes (#657)
100
- - Publish a package’s `*.metadata.json` to Artifactory (#664)
101
- - Add the build’s `LICENSE` content to `*.metadata.json` (#664)
102
-
103
- ### Bug Fixes
104
- - Add proper support for loading v2 manifests (#657)
105
- - Replacing the use of JSON gem with FFI_yajl (#661)
106
-
107
- v5.3.0 (March 25, 2016)
108
- -----------------------
109
- ### New Features
110
-
111
- - Get correct architecture name for Debian environments from `dpkg` (#646)
112
- - Update fauxhai to latest (#652)
113
- - Use project.license in deb and rpm packagers if available (#653)
114
- - Whitelist additional Solaris11 libraries (#650)
115
- - Use gcc 4.9 on freebsd (#649)
116
- - Per-Platform manifest generation (#645)
117
- - Support omnibus manifest arguments: `omnibus manifest --os=OS --platform-family=FAMILY --platform=PLATFORM --platform-version=VERSION`
118
- - Can be used to generate manifests for other platforms than the one you are on, allowing a multi-platform build to be quickly set up.
119
- - Affects chef-sugar's `windows?`, `solaris?` and similar functions, which are used by software in `omnibus-software`
120
- - Performance: Ignore non-libraries in health checks (#642)
121
- - Add `github` source (#643)
122
- - Add `suse` support (#647)
123
- - Exclude files with whitespace names from AIX packages (#641)
124
- - Fix compilation problems on Windows (#640)
125
- - Disable `sse` to avoid compilation segfaults
126
- - Don't change newlines when `git pull`ing
127
- - Warn when software licenses are missing for software components (#638)
128
- - Add Chef MLSA to the list of recognized licenses (#639)
129
- - Download remote license files into the LICENSES directory (#637)
130
-
131
- v5.2.0 (March 15, 2016)
132
- -----------------------
133
- ### New Features
134
-
135
- - License reporting (#635):
136
- - Add `license` & `license_file` DSL methods to software.
137
- - `license` (String): Sets the license of the software component.
138
- - `license_file` (String): The relative path or the url of the license file of the software to be included in `"LICENSES"` directory.
139
- - Can be used multiple times.
140
- - You can use `:project_license` as a special value if the software is build related code and if it is using project's license.
141
- - Add `license`, `license_file` and `license_file_path` DSL methods to project.
142
- - `license` (String): Sets the license of the project.
143
- - `license_file` (String): The relative path or the url of the license file of the project to be included in the file that will be created at project.license_file_path.
144
- - `license_file_path` (String): The relative path of the main license file that will be created for the project. Default: `"LICENSE"`.
145
-
146
- With this omnibus will:
147
-
148
- 1. Collect all the license files specified in software components into `install_dir/LICENSES` directory.
149
- 2. Create a license file at `install_dir/LICENSE` which will contain license of the project and license information for all the software components that are being included.
150
- - Ability to change `dist_tag` in RPM packager. (#634)
151
- - Ability to update submodules during git checkout. (#603)
152
-
153
- v5.1.0 (March 10, 2016)
154
- -----------------------
155
- ### New Features
156
- - New `configure` dsl method. (#572)
157
- - New `maintainer` dsl method. (#618)
158
- - New `update_config_guess` dsl method. (#632)
159
- - Ability to enable building software components from source on windows. (#572, #583, #584, #586, #612)
160
-
161
- ### Bug Fixes
162
- - Default to UTF-8 external encoding globally. (#573)
163
- - Restore invalid file names on AIX. (#575)
164
- - Fix bff log loop. (#579)
165
- - Use 7z.exe instead of tar.exe on windows. (#578)
166
- - Make generated package scripts old-school Unix friendly. (#582)
167
- - Fix directory cleanup logic in `git_fetcher`. (#509)
168
- - Use -O2 when building with standard compiler flags. (#591)
169
- - Cache software sources under `.../src/<software name>/<package>`. (#597)
170
- - Add libmd.so.* to freebsd whitelist. (#600)
171
- - Remove existing links in the destination when syncing files. (#602)
172
- - Skip adding DEBIAN directory to md5sums file. (#595)
173
- - Autoprunes files with spaces on Solaris. (#609)
174
- - Allow assets with non-md5 checksums to be cached in s3. (#611)
175
- - Print NetFetcher retries at the info level. (#614)
176
- - Do not modify CRLF when git caching. (#616)
177
- - Ensure we always swap chown back to default. (#617)
178
-
179
- v5.0.0 (November 10, 2015)
180
- --------------------------
181
- ### New Features
182
- - Wind River Linux 5 support for Cisco Nexus devices (#539)
183
- - [artifactory publisher] Support custom properties in Artifactory publishing (#568)
184
- - [msi packager] New "fast" mode for MSI packager (#565)
185
- - Change the `appbundler` DSL method to not make an apps dir
186
- - Unit and functional tests now run on Windows (and are tested by Appveyor) (#556, #557)
187
-
188
- ### Bug Fixes
189
- - [msi packager] Fix missing package name in signature (#541)
190
- - [rpm packager] Fix building RPMs on ARM platforms (#542)
191
- - [bff packager] Fix regression with AIX package ownership in staging directory (#553)
192
- - [solaris packager] Use the proper architecture value in Solaris packages (#554, #555)
193
- - Add info message for publish cli corner case (#551)
194
- - [net fetcher] missing checksum raises exception (#549)
195
-
196
-
197
- ### Potentially Breaking Changes
198
- - Dropped Ruby 1.9.x support (#567)
199
-
200
- v4.1.0 (September 1, 2015)
201
- -------------------------
202
- ### New Features
203
- - Allow semver prefixes that start with "v"
204
- - Reset target_shasum in PathFetcher after every fetch, preventing erroneous GitCache misses for builds that produced local artifacts during the previous omnibus run.
205
- - Allow users to specify options to the underlying FileSyncer in a Software definition
206
- - Add CPPFLAGS in with_standard_compiler_flags
207
- - Add a Fedora dist tag to package name and spec release
208
- - Copy distribution.xml.erb also when creating project with --pkg-assets
209
- - Manage version manifests with Omnibus. Omnibus now creates a version manifest in text and JSON.
210
- - Retry failed downloads
211
- - Support inclusion of email address in Wix template
212
- - Allow solaris to use mapfiles
213
- - A new `omnibus generate changelog` command generates an opinionated CHANGELOG entry based on metadata in commit messages.
214
- - Add warnings on empty globs.
215
- - Raspberry Pi 2 support
216
- - Clone git repositories with --recursive flag
217
- - Add ability to sign MSIs
218
- - Support running Omnibus with 64-bit ruby on Windows
219
- - Create an Artifactory build for published packages
220
- - Add a "windows_arch" omnibus option to choose 32/64 bit builds.
221
- - Set directory ownership/permissions to match the filesystem package.
222
- - Allow Windows 10 builders
223
- - Allow omnibus to build "bundled" Windows installers
224
- - Set perms on control files per Ubuntu Software Center's lintian checks.
225
- - Replace uber-s3 dependency with aws-sdk
226
-
227
- ### Bug Fixes
228
- - Config.append_timestamp is now properly handled by the build_version
229
- DSL. For some users, this may introduce a change in behavior. To
230
- revert to the old behavior set append_timestamp to false in
231
- `omnibus.rb` or use --override append_timestamp:false at the command
232
- line.
233
- - Do not memoize current_revision to avoid returning incorrect data. Memoizing current_revision was previously causing version_for_cache to return the pre-fetch revision of the software, leading us to erroneously restore an older revision from the cache.
234
- - Clean up "files listed twice" warnings. This should allow signing RPMs on EL 7
235
- - dpkg uses arch name ppc64el (instead of ppc64le) for little endian
236
- - Override equality operator for ManifestEntry. Prior to this, we simply tested basic object identity, which would result in many "updated" dependencies
237
- - Correctly determine git repository when running in a subdirectory
238
- - Forcibly remove a non-empty project dir before cloning because if multiple projects are using the same maching for building, they might have two different software definitions that share the same name but a different source.
239
- - Accomidate hardlinks properly
240
- - When building spec file, handle path names that contain spaces
241
- - Add libkvm and libprocstat to freebsd whitelist
242
- - Properly render ERB templates that do not have variables
243
- - Change git fetcher to correctly fetch when repo name is the same but branch/version is different.
244
-
245
- ### Potentially Breaking Changes
246
- - `Omnibus::SemanticVersion.new` now raises `Omnibus::InvalidVersion` instead of `Omnibus::SemanticVersion::InvalidVersion`
247
- - Cache Builder#shasum before Builder#build to ensure consistent result.
248
- - Update chef-sugar to 3.0 which adds ppc64le support.
249
- - The MSI packager now adds the architecture to the msi name. The file names go from `package_name-build_version-build_iteration` to `package_name-build_version-build_iteration-arch`.
250
-
251
- v4.0.0 (December 15, 2014)
252
- --------------------------
253
- ### New Features
254
- - Implement packager-specific DSLs. Packagers now define their own custom methods that may be configured using the `package` block in a project file. For more information, please see the README or any of the embedded "Building on X" documents.
255
- - Use vendored assets. In previous versions of Omnibus, the generator would create resource assets for DMG, PKG, and MSI packages, regardless of whether you intended to build those packages. This could cause repo bloat and information overload. In Omnibus 4, the default generator does not create these assets, and instead prefers "general" vendored assets. If you are planning to make a resource-intensive package (such as a PKG or MSI), it is encouraged you generate these assets by specifing the `--pkg-assets` flag during project generation. Omnibus will prefer local resources in the `resources/` directory and then fall-back to "sane" defaults which are vendored within Omnibus.
256
- - Refactored packagers and remove FPM. Omnibus now builds all packages using Ruby and system tooling. This provides a speed improvement and added control over the way packages are built, while simplifying the DSL.
257
- - Refactored fetcher objects that include performance enhancements and better cachability across platforms.
258
- - Added `Omnibus.which` to search `ENV['PATH']` for the given executable. This is used internally in Omnibus but is also available inside software definitions.
259
- - Lazy load project and software definitions. In previous versions of Omnibus, Omnibus would load **all** software files found on disk. Omnibus 4 will selectively load softwares from the most preferred location.
260
- - Expand project and software searching. Omnibus 4 now allows a user to specify a list of local software repos and software gems. Omnibus 4 will search the local repository (config/software), then any local file system specified software repos, then any loaded gems. These search paths and gems can be specified in the Omnibus config.
261
- - Extracted template rendering into a helper module. Omnibus now renders templates from this single method, so you always have the same ERB expectations.
262
- - Added many new DSL methods for packagers, builders, project, and software. Please see the **DSL Changes** below for detailed information.
263
- - Extracted FileSyncer into a top-level class with added test coverage.
264
- - Builder DSL method `erb` will search all configured software repos for the template, following the previously described specificity search.
265
- - Builder DSL method `patch` will search all configured software repos for the patch file, following the previously described specificity search.
266
- - Standardize on a single way for loading projects from disk - `Project.load`. This method is part of the public API and can be used with Omnibus as a library for loading a project from preferred paths on disk.
267
- - Standardize on a single way for loading software from disk - `Software.load`. This method is part of the public API and can be used with Omnibus as a library for loading a software from preferred paths on disk.
268
- - Added all-new compressor scaffolding and skeleton. Previously, a DMG was considered a "packager", but it is actually a compressor. You can read more about the compressor syntax in the Omnibus 4 release notes or the Omnibus README.
269
- - Added a TGZ compressor for post-processing larger packagers into tarballs.
270
- - Use Ruby's native `open-uri` in the NetFetcher. This permits users to specify http, https, or ftp URLs.
271
- - Include hidden files and folders when calculating a directory digest.
272
- - Use the relative path of a file when calculating a directory digest.
273
- - Create required directories "as-needed" rather than at the start of a run. This prevents Omnibus from creating a ton of random directories on disk before the build even begins.
274
- - Use an Ruby implmentation that behaves like rsync for PathFetcher objects. This removes the implicit dependency on rsync/rubocopy on build systems.
275
- - Add support for Ubuntu 14.04 in the build lab
276
- - Centralize the algorithm for determining the packager for the current system.
277
- - Enhance the `Util` module to include FileSystem methods like `create_directory`.
278
- - Always build packages in a temporary, staging directory and then copy the generated asset(s) back into `Config.package_dir`.
279
- - Add sanity checking around package name generation (e.g. removing specical characters) and issue a warning when package names might contain invalid characters.
280
- - Rewrite AIX BFF packager from scratch.
281
- - Rewrite Debian/Ubuntu DEB packager from scratch using `dpkg-deb`.
282
- - Rewrite Other Makeself packager from scratch using more in-memory operations (instead of filesystem).
283
- - Rewrite Windows MSI packager from scratch and use more flexible default XML templates.
284
- - Support installing an MSI package into more than one directory deep (e.g. C:\Program Files\Chef Software\Chef).
285
- - Rewrite OS X PKG packager from scratch with templates instead of heredocs for XML/PLists.
286
- - Rewrite RedHat/CentOS RPM packager from scratch to use custom spec files and `rpmbuild`.
287
- - Rewrite Solaris Solaris packager. This packager is still in need of a major overhaul.
288
- - Allow DSL authors to specify a URL may be downloaded using `:unsafe` redirects from HTTPS -> HTTP.
289
- - Added a real functional test suite that runs on Travis CI for the Build DSL
290
- - Improved test coverage by 280%.
291
- - Treat all files as binary. This solves a number of strange encoding issues you may have been experiencing.
292
- - Prevent Ruby from automatically ungzipping responses.
293
- - Added `Config.workers` key for specifying the maximum number of parallel events to take place.
294
- - Added parallel downloads for fetcher objects.
295
- - Use `fakeroot` for building DEBs and RPMs.
296
- - Raspberry Pi platform support (Raspian, Pidora).
297
- - Retry uploads to Artifactory on publish failures.
298
-
299
- ### Potentially Breaking Changes
300
- - Remove embedded functional tests. Because the functional tests were skipped on CI (and require a system of each type to properly execute), they have been removed. Chef has created the [omnibus-harmony](https://github.com/opscode/omnibus-harmony) pipeline to perform true integration testing using the in-house CI cluster. If you were relying on the integration tests (or the associated Rake tasks), they have been removed.
301
- - Move vendored `makeself` and `makeself-header` script from `bin/` to `resources/` folder. Having the `makeself` script inside `bin/` would cause `makeself` to be bundled with the gem and added to `$PATH`. If you were previously relying on Omnibus adding `makeself` to your `$PATH`, this will no longer happen.
302
- - Cleanroom now subclasses `Object` instead of `Omnibus`. This could have unintended side-effects if you were accessing Omnibus internals (like `Config`) inside software or project DSL methods. You must now specify the entire namespace (e.g. `Omnibus::Config`).
303
- - Builder filesystem DSL methods change directory into `Software#project_dir` before executing.
304
- - Builder filesystem DSL methods now accept paths or globs.
305
- - Packagers attempt to ignore SCM-based files during packaging.
306
- - Move internal cleanroom implementation into a [cleanroom standalone-gem](https://rubygems.org/gems/cleanroom). If you were relying or invoking `Omnibus::Cleanroom`, please see the gem documentation.
307
- - `Omnibus.process_configuration` has been removed. This method was actually a noop and entirely unused. If you are using Omnibus as a library, this method does not need to be invoked and the call can safely be removed.
308
- - Remove `Config.fetch` and `Config[:key]`. You should use `Config.thing` instead.
309
- - Standardize errors on `MissingRequiredAttribute`. In previous versions of Omnibus, you would get a different error depending on _where_ a required attribute was missing. In Config, Omnibus would raise `MissingConfigOption`, in project, Omnibus would raise `MissingProjectConfiguration` and in software, Omnibus would raise `MissingSoftwareConfiguration`. All these error classes have been removed and standardized on `MissingRequiredAttribute`.
310
- - Remove many unused error classes.
311
- - Remove all implementations of ErrorReporter classes. These classes attempted to read the output of a stacktrace and intelligently display information to the user about the failure. However, these classes proved to hide errors or provide false information more than they were helpful.
312
- - Raise `NotImplementedError` (Ruby core) instead of `AbstractMethod` or `AbstractFunction` (Omnibus) errors when a method should be overridden by the child class.
313
- - Refactor `GitFetcher`, removing retries and complex error handling. If a git command fails, you will see the error from git instead of an Omnibus-translated error.
314
- - Raise a `ChecksumMismatch` exception when a provided md5 does not match the downloaded one.
315
- - When extracting tar archives, prefer gtar over tar when gtar is present.
316
- - Move `Omnibus::Packager::Metadata` to `Omnibus::Metadata` and improve documentation
317
- - Change the airty of `Omnibus::Metadata.generate` to accept [1] the path to the package on disk and [2] the project which created the package.
318
- - Selectively load Ohai plugins. Please note: the Ohai that is loaded with Omnibus includes very minimal system information compared to the Ohai that comes with Chef. If you are expecting the data to be the same, you have been warned!
319
- - Remove all uses of forwardable delegation.
320
- - Cache the loading of projects
321
- - Cache the loading of software
322
- - When accessing DSL methods for the first time, do not persist the default value onto the instance variable.
323
- - Bump the required version of Chef Sugar to `~> 2.2` to pick up new `smartos?` and `omnios?` matchers.
324
- - Removed vendor spec fixture data. I do not know why you would be using it, but if you were relying on any of that data, it is now gone and fixtures are constructed manually at test time.
325
- - Renamed `Package::MacPkg` to `Packager::PKG`
326
- - Renamed `Package::MacDmg` to `Compressor::DMG`
327
- - Truncate SLES and other RedHat derivatives platform version.
328
- - Refactor logger objects to separate Omnibus internal debugging info with build/compile/configure debugging info.
329
- - Improve error and debugging output when an exception is raised while shelling out. Failed shell commands will now raise `Omnibus::CommandFailed` and `Omnibus::CommandTimeout` instead of the `Mixlib::ShellOut` exceptions. If you were previously rescuing the Mixlib exceptions, you should switch to the new ones.
330
- - XL C is now the default compiler on AIX
331
- - Clang is now the default compiler on FreeBSD 10+
332
- - Make compilation default `-static-libgcc` on Solaris
333
- - Only allow installation on system volume for Mac OS X PKGs.
334
-
335
- ### Definitely Breaking Changes
336
- - Previously deprecated methods have been removed.
337
- - `Config#package_tmp` is no longer used. `Dir.mktmpdir` is used to generate an operating-system agnostic temporary directory for packagers to operate in.
338
- - `Config#build_dmg` is no longer used. If you wish to build a dmg, you must specify a `compressor` block with the `:dmg` option.
339
- - `Config#dmg_window_bounds` is no longer used. If you wish to specify dmg window bounds, you must specify a `compressor` block with the `:dmg` option and specify the `window_bounds` attribute.
340
- - `Config#dmg_pkg_position` is no longer used. If you wish to specify dmg package positioning, you must specify a `compressor` block with the `:dmg` option and specify the `pkg_position` attribute.
341
- - `Config#sign_pkg` is no longer used. If you specify a signing identity, it is assumed you want to sign the package.
342
- - `Config#signing_identity` is no longer used. If you wish to specify package signing identity, you must specify a `package` block with the `:pkg` option and specify the `signing_identity` attribute.
343
- - `Config#sign_rpm` is no longer used. If you specify an rpm signing passphrase, it is assumed you want to sign the package.
344
- - `Config#rpm_signing_passphrase` is no longer used. If you wish to specify package signing identity, you must specify a `package` block with the `:rpm` option and specify the `signing_passphrase` attribute.
345
- - `Project#msi_parameters` has been removed. If you wish to specify msi parameters, you must specify a `package` block with the `:msi` option and specify the `parameters` attribute.
346
- - **`Project#msi_parameters[:upgrade_code]` is no longer used!** You must specify an `upgrade_code` in a `package` block with the `:msi` option.
347
- - Remove all instances of `NullBuilder`. If you were previously invoking a `NullBuilder`, simply omit a `build` block.
348
- - Remove packager `validate` pre-step
349
- - Remove packager `cleanup` post-step
350
- - **Changed the method arity of `Software#initialize` - this method no longer accepts a list of overrides.**
351
- - `Builder#max_build_jobs` has been renamed to `Builder#workers`.
352
-
353
- ### Deprecations
354
- - `Config#package_tmp` prints a deprecation. There is no replacement for this method.
355
- - `Config#build_dmg` prints a deprecation. You should specify a `compressor` block with the `:dmg` option instead.
356
- - `Config#dmg_window_bounds` prints a deprecation. You should specify the `window_bounds` inside `compressor :dmg` instead.
357
- - `Config#dmg_pkg_position` prints a deprecation. You should specify the `pkg_position` inside `compressor :dmg` instead.
358
- - `Config#sign_pkg` prints a deprecation. If you specify a signing identity, it is assumed you want to sign the package.
359
- - `Config#signing_identity` prints a deprecation. You should specify the `signing_identity` inside `package :pkg` instead.
360
- - `Config#sign_rpm` prints a deprecation. If you specify an rpm signing passphrase, it is assumed you want to sign the package.
361
- - `Config#rpm_signing_passphrase` prints a deprecation. You should specify the `signing_passphrase` inside `package :rpm` instead.
362
- - Warn the user when invoking the `command` method in a `build` block that should be replaced with a top-level DSL method (like `command "rm -rf thing.rb"` should be replaced with `delete "thing.rb"`).
363
-
364
- ### Generator Changes
365
- - The generator (`omnibus new NAME`) no longer generates assets (MSI, PKG, DMG, etc). If you need those assets, you can specify the `--thing-assets` (e.g. `--msi-assets`) flag.
366
- - The generator does not render ERB files for assets - instead, it just generates the raw ERB files for your modification.
367
- - Improve the comments in teh generated project Gemfile
368
- - Put "development" gems in a `:development` group in the generated project Gemfile for easy exclusion with `bundle install --without development`.
369
- - Update generated `<project>.rb` file to use new APIs
370
- - Generate a "real" software example (zlib) that showcases many of the new APIs for learning.
371
- - Always generate an `omnibus.rb` configuration file with "secret" values specified using `ENV`.
372
- - Remove outdated and `-example.rb` software definitions.
373
-
374
- ### DSL Changes
375
- #### Project
376
- - Removed `Project#msi_parameters`. Please use the packager-specific DSL `parameters` method instead.
377
- - Removed `Project#msi_parameters[:upgrade_code]`. You must specify the `upgrade_code` packager-specific DSL method instead.
378
- - Removed `Project#package_name`. This value is now calculated by Omnibus and you cannot tune it.
379
- - Removed `Project#install_path`. Please use `Project#install_dir` instead.
380
- - Removed `Project#files_path`. Please use `Project#resources_path` instead.
381
- - Added `Project#resources_path`. Previously called "files", any Omnibus assets, images, or files are now referred to as "resources". The default value is `resources/PROJECT_NAME`.
382
- - Removed `Project#replaces`. Please use `Project#replace` and specify a single package. You can specify `Package#replace` multiple times in the same project.
383
- - Added `Project#replace` for specifying which existing package this project replaces.
384
- - Added `Project#default_root` that uses `/opt` on Unix and `C:/` on Windows for easy cross-platform path-setting.
385
- - Added `Project#package` for customizing a specific packager. This is a sub-DSL that is evaluated on the OS-specific packager. This DSL method may be specified in a file multiple times.
386
- - Added `Project#compress` for customizing a specific compressor. This is a sub-DSL that is evaluated on the given compressor. This DSL method may be specified in a file multiple times and Omnibus will select the "best" compressor for the given platform. For example, if both DMG and TGZ compressors are given, Omnibus will prefer DMG on OS X systems and fallback to TGZ on others.
387
- - Changed `Project#package_user` to default to `root` when no value is given.
388
- - Changed `Project#package_group` to default to `Ohai['root_group']` and then `root` when no value is given.
389
- - Removed `Project#platform_version`. Use `ohai` instead.
390
- - Removed `Project#platform_family`. Use `ohai` instead.
391
- - Removed `Project#platform`. Use `ohai` instead.
392
- - Removed `Project#machine`. Use `ohai` instead.
393
- - Removed `Project#dependencies`. List each dependency using `dependency` instead.
394
- - Added `Project#ohai` for quick access to Ohai data.
395
-
396
- #### Software
397
- - Removed `Software#override_version`. There is no replacement.
398
- - Removed `Software#install_dir`. Please use `Software#install_path` instead.
399
- - Removed `Software#platform_version`. Use `ohai` instead.
400
- - Removed `Software#platform_family`. Use `ohai` instead.
401
- - Removed `Software#platform`. Use `ohai` instead.
402
- - Removed `Software#architecture`. Use `ohai` instead or Chef Sugar instead.
403
- - Added `Software#ohai` for quick access to Ohai data.
404
- - Changed `Software#downloaded_file` to `Software#project_file`.
405
- - Removed `Software#source_dir`. You can use `Omnibus::Config.source_dir` instead, but if you need access to this method, it is probably a bug in Omnibus.
406
- - Removed `Software#cache_dir`. You can use `Omnibus::Config.cache_dir` instead, but if you need access to this method, it is probably a bug in Omnibus.
407
- - Removed `Software#config`. You can use `Omnibus::Config` instead.
408
-
409
- #### Builder
410
- - Added `Builder#make` for choosing the correct `make` binary on the system. When `gmake` is present, it is preferred. The use of this method also sets the `MAKE` environment variable for consistency. You should change all instances of `command "make ..."` to `make "..."` to ensure true cross-platform building.
411
- - Added `Builder#windows_safe_path` for shelling out to the system with the correct path separators.
412
- - Added `Buidler#workers` for delegation to the config option.
413
- - Removed `Buidler#max_build_jobs` in favor of `Builder#workers`.
414
- - Add an `Builder#appbundle` function to the builder DSL
415
-
416
- #### Packagers
417
- - Added `Packager::DEB#vendor` for specifying the package vendor.
418
- - Added `Packager::DEB#license` for specifying the package license.
419
- - Added `Packager::DEB#priority` for specifying the package priority.
420
- - Added `Packager::DEB#section` for specifying the package section.
421
- - Added `Packager::MSI#upgrade_code` for specifying an upgrade code. You must specify this attribute to make MSI packages.
422
- - Added `Packager::MSI#parameters` for specifying arbitrary parameters to be read into the Wix XML.
423
- - Added `Packager::MSI#wix_light_extension` for activating arbitrary Wix light extentions.
424
- - Added `Packager::MSI#wix_candle_extension` for activating arbitrary Wix candle extentions.
425
- - Added `Packager::PKG#identifer` for specifying the identifier of the the Mac OS X PKG. This value is still interpreted if one is not given. Note: the `Config.mac_pkg_identifier` is no longer honored.
426
- - Added `Packager::PKG#signing_passphrase` for specifying the signing passphrase. If this value is given, it is assumed you want to sign the package. Note: the `Config.sign_rpm` and `Config.rpm_signing_passphrase` is no longer honored.
427
- - Added `Packager::RPM#vendor` for specifying the package vendor.
428
- - Added `Packager::RPM#license` for specifying the package license.
429
- - Added `Packager::RPM#priority` for specifying the package priority.
430
- - Added `Packager::RPM#category` for specifying the package category.
431
-
432
- ### Bugfixes
433
- - Drastically improve test coverage around packagers.
434
- - Improved documentation for Building on OSX.
435
- - Improved documentation for Building on Windows.
436
- - Improved documentation for Building on RHEL.
437
- - Improved documentation for the `Builder` DSL.
438
- - Standardized license headers.
439
- - Added SSH forwarding as part of the default generated `.kitchen.yml`.
440
- - Updated Chef version in generated `.kitchen.yml`.
441
- - Switch to OpenSSL::Digest which is threadsafe on 2.1.2
442
- - Ensure final `*.dmg` name matches actual `*.pkg` name.
443
- - Replace dashes (`-`) with tildes (`~`) in DEB and RPM versions
444
-
445
- v3.2.1 (July 26, 2014)
446
- ----------------------
447
- - Add support for overriding publish platform/version
448
- - Expose platform/version override options on `omnibus publish`
449
- - Expose the `sync` method in the builder DSL and fix the broken tests
450
-
451
- v3.2.0 (July 23, 2014)
452
- ----------------------
453
- - Make build commands output during `log.info` instead of `log.debug`
454
- - Refactor Chef Sugar into an includable module, permitting DSL methods in both Software and Project definitions
455
- - Refactor `omnibus release` into a non-S3-specific backend "publisher"
456
- - Add support for specifying a dir glob to the `publish` command to upload multiple packages
457
- - "Package" is now a public API
458
- - Generate a real omnibus configuration file (no more `omnibus.rb.example`)
459
- - Add a releaser for Artifactory
460
- - Add additional information to package metdata (such as shasums)
461
- - Remove uses of Omnibus.config and use the Config object directly
462
- - Add the ability to define multiple `software_gems` in the config
463
- - Add the ability to define `local_software_paths` in the config
464
- - Add the ability to disable git caching in the config
465
- - Omnibus.load_configuration now requires a file path
466
- - Add new API for loading a project - `Project.load`
467
- - Add new API for loading a software - `Software.load`
468
- - Add publish APIs for dirtying the git cache
469
- - Add test coverage for the "public" API
470
- - Add validation to `source` in software DSL
471
- - Add logging to the Packager class
472
- - Add functional tests for builders
473
- - Update generator templates to use the new APIs
474
- - Upgrade to Ohai 7.2
475
- - Improve YARDoc
476
-
477
- ### Deprecations
478
- - Remove deprecated `Omnibus.configure` method
479
- - Deprecate `Omnibus.config.value` in favor of `Config.value` instead
480
- - Deprecate `Omnibus.project_root` in favor of `Config.project_root`
481
- - Deprecate [DSL] `platform` in favor of `Ohai['platform']`
482
- - Deprecate [DSL] `platform_family` in favor of `Ohai['platform_family']`
483
- - Deprecate [DSL] `platform_version` in favor of `Ohai['platform_version']`
484
- - Deprecate [DSL] `build_dir` in favor of `Config.build_dir`
485
- - Deprecate [DSL] `cache_dir` in favor of `Config.cache_dir`
486
- - Deprecate [DSL] `source_dir` in favor of `Config.source_dir`
487
- - Deprecate [DSL] `config` in favor of `Config` (capitalized)
488
- - Deprecate `Ohai.value` in favor of `Ohai['value']`
489
- - Deprecate `Project#install_path` in favor of `Project.install_dir`
490
- - Deprecate [DSL] `install_path` in favor of `install_dir`
491
- - Rename `Config.install_path_cache_dir` to `git_cache_dir`
492
- - Fix a bug in the deprecations where a hardcoded output was used instead of a dynamic variable
493
-
494
- ### DSL Changes
495
- - Add `with_embedded_path` to software
496
- - Add `with_standard_compiler_flags` to software
497
- - Add `package_scripts_path` to project
498
- - Add builder DSL methods for `mkdir`, `touch`, `delete`, `copy`, `move`, `link`, and `sync`
499
-
500
- ### Bug fixes
501
- - Fix a small typo in the project generator (come -> some)
502
- - Update sample software definition for libpng to 1.5.18
503
- - Improved logging output
504
- - Include Chef Sugar in both software and project DSLs
505
- - Documentation updates and typographical fixes
506
- - Change the generated omnibus.rb to use a default homepage that includes the protocol
507
- - Ensure that software fetched via the PathFetcher are cached correctly
508
- - Downgrade FPM to ~> 0.4 - FPM 1.0.0+ uses FFI to attach to some libc functions. This fails on RHEL 5 & 6. As we don’t need a bleeding edge FPM the easiest fix is to just downgrade to the most recent pre-1.0.0 version.
509
- - Always print backtraces when errors occur
510
- - Do not sent ldd/otool to the same file - first steps in allowing parallel builds
511
- - Only rescue `Omnibus::Error` when invoked through the CLI - this will allow other bugs to actually raise at the Ruby level
512
- - Refactor the algorithm for git caching to take into account overrides and missing versions
513
- - Remove nested git directories before incremental caching occurs
514
- - Intelligently parse the project's homepage because Ruby's native URI implementation is buggy
515
- - Fetch all software at the start of the build - this fixes a bug where a build would fail halfway through because of a tiny typo of GitHub outage. Now, all required software is downloaded **before** the build starts, lowering the feedback time for a failure due to networking issues
516
- - Use the fetcher's `version_for_cache` method directly, falling back to `0.0.0` (and a warining) if no version is given
517
- - Require `net/http`, `net/https`, and `net/ftp` in the base fetcher module
518
- - Use -R, not -W1 on FreeBSD's compile flags
519
- - Expand all paths relative to the project_root
520
- - Unset all Ruby, Bundler, amd Gem-related environment variables before shelling out
521
- - Various documentation fixes and updates
522
-
523
- ### Potentially breaking changes
524
- - Merged `Package` and `Artifact` into the same class and updated API - this was considered an **internal** API so it is not a violation of semver
525
- - Use a common class for Omnibus exceptions - if you were rescuing Omnibus::Error, you might be rescuing all exceptions now
526
- - Use a cleanroom object when evaluating the DSL - prior to this release, Omnibus did not declare a public API. Project and software definitions had unrestricted access to the entire project.rb and software.rb methods respectively. This poses two problems - first, it makes it impossible to guarantee a public DSL API over a public (code) API. Second, it permits a developer to change the behavior of project.rb or software.rb accidentially, simply by defining a new method. The introducing of a cleanroom fixes both these bugs, however, it was impossible to know what was formerly considered a public API. Thus, it is possible that a previously-relied-on method is now unavaiable using the cleanroom. Please open an issue if you encounter such a case.
527
- - Remove mixlib-config - if you were relying on mixlib-config as a transitive dependency, it is no longer available
528
- - Remove the ability to use an overrides file - this was for internal use only and was never exposed as a public API. However, if you dug into the code and found it, it has now been removed. For BC purposes, the value still exists in the configuration object, but is essentially a no-op
529
- - Move project loading from INFO to DEBUG
530
- - Truncate platforms to short versions
531
- - All paths are represented internally as Unix-style paths - previously Omnibus would try to intelligently build your paths differently on Windows for the purposes of shelling out to the system. This proved to be unmaintainable and makes Ruby very unhappy in most circumsatances. As such, we have exposed the `windows_safe_path` method in the Builder DSL that will convert a string to a "Windows-safe path". This is only needed when shelling out to the system.
532
-
533
-
534
- v3.1.1 (May 20, 2014)
535
- ---------------------
536
- - Update project generators to use new APIs. The old project generators created a project that issued deprecation warnings!
537
- - Stream build output to the debug logger. Specifying `--log-level debug` now includes **all** the build output as if you had run the command manually.
538
- - Deprecate the `OMNIBUS_APPEND_TIMESTAMP` environment variable in favor of the command line flag. This is only a deprecation, but the `OMNIBUS_APPEND_TIMESTAMP` will be removed in the next major release.
539
- - Fix a bug in `windows_safe_path` to always return a string
540
- - Add a `Config.base_dir` configuration value for easy tuning
541
- - Remove the use of `Omnibus.root` in `BuildVersion#initializer`. This removes the many deprecation warnings that print on each software load.
542
- - Output the current command in debug output when shelling out
543
- - Output the current environment in debug output when shelling out
544
- - Change the information that is displayed at different log levels with respect to shelling out. In `warn` mode, Omnibus will only display warnings/deprecations; you will not see any build commands or output. In `info` mode, Omnibus will display the commands and environment that are being used; you will not see the output from the build (unless it fails). In `debug` mode, Omnibus will display the commands, environment, and output (livestream) from commands.
545
-
546
-
547
- v3.1.0 (May 14, 2014)
548
- -------------------------
549
- ### New Features
550
- - `friendly_name` is added to project DSL to be able to configure the name on packagers.
551
- - `resources_path` is added to project DSL to be able to specify project specific resource files for packagers.
552
- - Add the ability to "sign" OSX packages
553
- - Allow packagers to have project-specific resources
554
- - MSI packager for windows
555
- - Added helpers for generating platform-specific paths
556
- - New build_version DSL
557
- - All new CLI that uses LazyLoading and a much nicer interface (BC-compat)
558
- - Create a real logger object - Omnibus now supports --log-level
559
- - Warn when incorrectly using `replaces` in a project
560
-
561
- ### Bug fixes
562
- - Fix Windows bugs in the new git caching feature
563
- - Use the git sha in the git caching so that the software matches "master"
564
- - Force the detaching of all disks before building an OSX DMG
565
- - Remove references to now non-existent Vagrantfile
566
- - Fix an issue where softwares that are both top-level and transitive dependencies were built in the wrong order (see #140 for more information)
567
- - Use `source` when creating software uris and checksums
568
- - Fix invalid cache operations by ensuring the bucket exists
569
- - Add tag output git describe to include lightweight tags
570
- - Remove explicit instance_eval from line 0
571
- - Remove libz and libgcc_s from the health check whitelist
572
-
573
- ### Miscellaneous Changes
574
- - Add CoreServices to OSX whitelist for healthcheck
575
- - Bump the version of the generated Gemfile to Berkshelf ~> 3.0
576
- - Add test coverage for overridding software source
577
- - Improved test coverage for Omnibus project/software loading
578
- - Refactor and updated Thor
579
- - Add cucumber/aruba for testing the CLI
580
- - Lazy load Ohai and Mixlib::Config default values
581
- - Consistent deprecation warnings
582
- - Updated README badges
583
-
584
-
585
- v3.0.0 (March 27, 2014)
586
- ------------
587
- ### New Features
588
-
589
- - **No more rake!** Software definitions are incrementally built and cached using git instead. Software dependency build has been rewritten to leverage git caching. This means compiled software definitions are cached, so future Omnibus project builds are much faster. However, this does introduce some potential breaking changes.
590
-
591
- - Project-level software dependencies are built **last**.
592
- - it is assumed that project-level software dependencies are most frequently changed, and thus Omnibus optimize for such a case.
593
- - If you have software definitions that hard code `always_build`, you will probably want to turn that off now.
594
- - Blank directories are not cached. If you would like a blank directory to be cached, add a `.gitkeep` file to the folder.
595
- - The build order is compiled in a different way, which might result in a different ordered-installation than previous versions of omnibus.
596
- - For an example of you you might need to update your project, please see [opscode/omnibus-software@02d06a](https://github.com/opscode/omnibus-software/commit/02d06a74c02340b592e1864e7ab843bc14fa352a)
597
-
598
- - Support for building DMGs (OSX Disk Images)
599
- - Update generator to create assets for pkg/dmg resources
600
- - There's a fancy new logo
601
- - Added Chef Sugar integration
602
- - Improved documentation
603
- - Improved test coverage
604
-
605
- ### Bug fixes
606
-
607
- - Project generators now include apt/yum as development cookbooks
608
- - Added libc++.1.dylib as a whitelist healthcheck
609
- - Added libgcc_s.so,1 as a whitelist healthcheck on Solaris
610
- - Fix a bug where `extra_package_files` would break FPM
611
-
612
- v2.0.1 (March 18, 2014)
613
- -----------------------
614
- - Fix the name of the `pkg` artifact created on OSX
615
- - Fix new Rubocop warnings
616
- - Update generated `Gemfile` to use Omnibus 2.0
617
- - Switch to using Test Kitchen for generated build labs
618
-
619
- v2.0.0 (March, 12, 2014)
620
- ------------------------
621
- Major changes:
622
- - `version` is now `default_version`
623
- - Added support for multiple software versions and version overrides
624
- - Added support for project-specific overrides
625
- - Added Mac .pkg packaging functionality (DMG coming soon)
626
- - Require Mixlib::Config 2.0
627
-
628
- Minor changes:
629
- - Added a new CI pipeline on Travis
630
- - Switch to Ruby 1.9 hash syntaxes
631
-
632
- Tiny changes that probably won't affect you:
633
- - `.yardopts` are no longer committed
634
- - `.rspec` is no longer committed
635
- - Updated copyrights to new company name
636
- - Improved test coverage
637
- - Miscellaneous bug fixes
638
-
639
- ## 1.3.0 (December 6, 2013)
640
-
641
- FEATURES:
642
-
643
- - Add `build_retries` global config value (still 3 by default). ([@fujin][], [#63][])
644
- - Add support for pre-install scripts. ([@christophermaier][])
645
- - Add support for `*.tar.xz` files. ([@jf647][], [#71][])
646
- - Add `erb` builder command. ([@ohlol][], [#79][])
647
- - Add `package_user`, `package_group` to project definitions for setting
648
- user and group ownership for of deb/rpm/solaris packages. ([@ohlol][], [#80][])
649
- - Add `config_file` to project definitions for passing `--config-files`
650
- options to the `fpm` builder commands. ([@christophergeers][], [#85][])
651
-
652
- IMPROVEMENTS:
653
-
654
- - Bump default cpus to get better throughput when Ohai is wrong. ([@lamont-granquist][])
655
- - Whitelist `libnsl` on Arch Linux. ([@sl4mmy][], [#67][])
656
- - Switch to using pkgmk for Solaris. ([@lamont-granquist][], [#72][])
657
- - Remove make install from c-example. ([@johntdyer][], [#73][])
658
- - Update Vagrantfile template to use provisionerless base boxes. ([@schisamo][], [#74][])
659
- - Allow access to `Omnibus.project_root` in builder blocks. ([@ohlol][], [#78][])
660
- - Refactor how we handle loading dirs for software files. ([@benjaminws][], [#82][])
661
- - Update depdencies: ([@schisamo][], [#86][])
662
- - fpm 1.0.0
663
- - mixlib-config 2.1.0
664
- - mixlib-shellout 1.3.0
665
-
666
- BUG FIXES:
667
-
668
- - Properly handle `HTTP_PROXY_USER` and `HTTP_PROXY_PASS`. ([@databus23][], [#77][])
669
- - Fix the incorrect error message logged when the Git fetcher failed to
670
- resolve refs to commits. ([@mumoshu][], [#81][])
671
- - Removin unsupported `config.ssh.max_tries` and `config.ssh.timeout`
672
- from Vagrantfile template. ([@totally][], [#83][])
673
- - Mention the required Vagrant plugins. ([@jacobvosmaer][], [#70][])
674
-
675
- ## 1.2.0 (July 12, 2013)
676
-
677
- FEATURES:
678
-
679
- - Add `whitelist_file` to software DSL. This allows an individual software
680
- definition to declare files that should be ignored during health checking.
681
-
682
- IMPROVEMENTS:
683
-
684
- - Raise an exception if a project's dependency is not found.
685
-
686
- BUG FIXES:
687
-
688
- - Properly load a project's transitive dependencies.
689
- - Ensure a component is only added to a library one time.
690
-
691
- ## 1.1.1 (July 2, 2013)
692
-
693
- BUG FIXES:
694
-
695
- - Raise an exception if a patch file is not found.
696
- - Be more explicit about types in CPU computation.
697
- - Include pkg version, iteration, arch for solaris packages.
698
- - Fix assorted typos in CLI output.
699
-
700
- ## 1.1.0 (June 12, 2013)
701
-
702
- FEATURES:
703
-
704
- - AIX health check whitelist support
705
- - AIX Backup-File Format (BFF) package support
706
-
707
- IMPROVEMENTS:
708
-
709
- - Add libstdc++ to SmartOS whitelist libs - this allows the health check pass when
710
- depending on C++ libs.
711
-
712
- BUG FIXES:
713
-
714
- - [CHEF-4246] - omnibus cache populate failing
715
-
716
- ## 1.0.4 (May 23, 2013)
717
-
718
- FEATURES:
719
-
720
- - Add `release package` command which releases a single package with associated
721
- metadata file to a single S3 bucket.
722
- - Arch Linux health check whitelist support
723
-
724
- IMPROVEMENTS:
725
-
726
- - Add libstdc++ to Mac whitelist libs - this allows the health check pass when
727
- depending on C++ libs.
728
- - Change scope of `Omnibus::Library` instance from global to project.
729
-
730
- BUG FIXES:
731
-
732
- - [CHEF-4214] - projects in multi-project omnibus repositories share dependency scope
733
-
734
- ## 1.0.3 (May 2, 2013)
735
-
736
- FEATURES:
737
-
738
- - [CHEF-2576] - SmartOS health check whitelist support
739
- - [CHEF-4141] - FreeBSD health check whitelist support
740
- - [CHEF-3990] - Add support to uncompress zip file
741
-
742
- BUG FIXES:
743
-
744
- - Fix project homepage in gemspec
745
- - Proper Thor 0.16.0, 0.17.0 suppport - Thor 0.18.0 renamed current_task to
746
- current_command
747
-
748
- ## 1.0.2 (April 23, 2013)
749
-
750
- IMPROVEMENTS:
751
-
752
- - Travis CI support
753
-
754
- BUG FIXES:
755
-
756
- - [CHEF-4112] `omnibus build project` command does not respect the
757
- `--no-timestamp` flag
758
-
759
- ## 1.0.1 (April 21, 2013)
760
-
761
- BUG FIXES:
762
-
763
- - Vagrant and Berkshelf Vagrant plugin version updates in generated project's
764
- README.md. Current requirements for the virtualized build lab are:
765
- - Vagrant 1.2.1+
766
- - `vagrant-berkshelf` plugin (this was renamed from `berkshelf-vagrant`)
767
-
768
- ## 1.0.0 (April 21, 2013)
769
-
770
- - The initial release.
771
-
772
- <!--- The following link definition list is generated by PimpMyChangelog --->
773
- [#63]: https://github.com/opscode/omnibus/issues/63
774
- [#67]: https://github.com/opscode/omnibus/issues/67
775
- [#70]: https://github.com/opscode/omnibus/issues/70
776
- [#71]: https://github.com/opscode/omnibus/issues/71
777
- [#72]: https://github.com/opscode/omnibus/issues/72
778
- [#73]: https://github.com/opscode/omnibus/issues/73
779
- [#74]: https://github.com/opscode/omnibus/issues/74
780
- [#77]: https://github.com/opscode/omnibus/issues/77
781
- [#78]: https://github.com/opscode/omnibus/issues/78
782
- [#79]: https://github.com/opscode/omnibus/issues/79
783
- [#80]: https://github.com/opscode/omnibus/issues/80
784
- [#81]: https://github.com/opscode/omnibus/issues/81
785
- [#82]: https://github.com/opscode/omnibus/issues/82
786
- [#83]: https://github.com/opscode/omnibus/issues/83
787
- [#85]: https://github.com/opscode/omnibus/issues/85
788
- [#86]: https://github.com/opscode/omnibus/issues/86
789
- [@benjaminws]: https://github.com/benjaminws
790
- [@christophergeers]: https://github.com/christophergeers
791
- [@christophermaier]: https://github.com/christophermaier
792
- [@databus23]: https://github.com/databus23
793
- [@fujin]: https://github.com/fujin
794
- [@jacobvosmaer]: https://github.com/jacobvosmaer
795
- [@jf647]: https://github.com/jf647
796
- [@johntdyer]: https://github.com/johntdyer
797
- [@lamont-granquist]: https://github.com/lamont-granquist
798
- [@mumoshu]: https://github.com/mumoshu
799
- [@ohlol]: https://github.com/ohlol
800
- [@schisamo]: https://github.com/schisamo
801
- [@sl4mmy]: https://github.com/sl4mmy
802
- [@totally]: https://github.com/totally