omnibus 3.0.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +17 -1
- data/.travis.yml +11 -3
- data/CHANGELOG.md +39 -1
- data/Gemfile +0 -4
- data/README.md +10 -8
- data/Rakefile +18 -7
- data/bin/omnibus +3 -3
- data/docs/Building on Windows.md +98 -0
- data/features/commands/_deprecated.feature +46 -0
- data/features/commands/build.feature +9 -0
- data/features/commands/clean.feature +21 -0
- data/features/commands/list.feature +16 -0
- data/features/commands/new.feature +8 -0
- data/features/commands/version.feature +12 -0
- data/features/step_definitions/generator_steps.rb +28 -0
- data/features/support/env.rb +13 -0
- data/lib/omnibus.rb +319 -240
- data/lib/omnibus/artifact.rb +16 -0
- data/lib/omnibus/build_version.rb +39 -20
- data/lib/omnibus/build_version_dsl.rb +136 -0
- data/lib/omnibus/builder.rb +28 -23
- data/lib/omnibus/cleaner.rb +72 -0
- data/lib/omnibus/cli.rb +115 -11
- data/lib/omnibus/cli/base.rb +82 -81
- data/lib/omnibus/cli/cache.rb +80 -32
- data/lib/omnibus/cli/deprecated.rb +79 -0
- data/lib/omnibus/cli/release.rb +17 -21
- data/lib/omnibus/config.rb +38 -13
- data/lib/omnibus/exceptions.rb +70 -18
- data/lib/omnibus/fetcher.rb +18 -11
- data/lib/omnibus/fetchers/git_fetcher.rb +48 -53
- data/lib/omnibus/fetchers/net_fetcher.rb +29 -27
- data/lib/omnibus/fetchers/path_fetcher.rb +9 -12
- data/lib/omnibus/fetchers/s3_cache_fetcher.rb +5 -8
- data/lib/omnibus/generator.rb +131 -0
- data/lib/omnibus/{templates → generator_files}/.kitchen.local.yml.erb +0 -0
- data/lib/omnibus/{templates → generator_files}/.kitchen.yml.erb +0 -0
- data/lib/omnibus/{templates → generator_files}/Berksfile.erb +0 -0
- data/lib/omnibus/{templates → generator_files}/Gemfile.erb +2 -2
- data/lib/omnibus/{templates → generator_files}/README.md.erb +6 -7
- data/lib/omnibus/{templates → generator_files}/Vagrantfile.erb +0 -0
- data/lib/omnibus/{templates → generator_files}/gitignore.erb +0 -0
- data/lib/omnibus/{templates → generator_files}/mac_dmg/background.png +0 -0
- data/lib/omnibus/{templates → generator_files}/mac_dmg/icon.png +0 -0
- data/lib/omnibus/{templates → generator_files}/mac_pkg/background.png +0 -0
- data/lib/omnibus/{templates → generator_files}/mac_pkg/license.html.erb +0 -0
- data/lib/omnibus/{templates → generator_files}/mac_pkg/welcome.html.erb +0 -0
- data/lib/omnibus/{templates → generator_files}/omnibus.rb.example.erb +0 -0
- data/lib/omnibus/{templates → generator_files}/package_scripts/makeselfinst.erb +0 -0
- data/lib/omnibus/{templates → generator_files}/package_scripts/postinst.erb +0 -0
- data/lib/omnibus/{templates → generator_files}/package_scripts/postrm.erb +0 -0
- data/lib/omnibus/{templates → generator_files}/package_scripts/preinst.erb +0 -0
- data/lib/omnibus/{templates → generator_files}/package_scripts/prerm.erb +0 -0
- data/lib/omnibus/{templates → generator_files}/project.rb.erb +0 -1
- data/lib/omnibus/{templates → generator_files}/software/c-example.rb.erb +0 -0
- data/lib/omnibus/{templates → generator_files}/software/erlang-example.rb.erb +0 -0
- data/lib/omnibus/{templates → generator_files}/software/ruby-example.rb.erb +0 -0
- data/lib/omnibus/generator_files/windows_msi/assets/LICENSE.rtf +8 -0
- data/lib/omnibus/generator_files/windows_msi/assets/banner_background.bmp +0 -0
- data/lib/omnibus/generator_files/windows_msi/assets/dialog_background.bmp +0 -0
- data/lib/omnibus/generator_files/windows_msi/assets/project.ico +0 -0
- data/lib/omnibus/generator_files/windows_msi/assets/project_16x16.ico +0 -0
- data/lib/omnibus/generator_files/windows_msi/assets/project_32x32.ico +0 -0
- data/lib/omnibus/generator_files/windows_msi/localization-en-us.wxl.erb +20 -0
- data/lib/omnibus/generator_files/windows_msi/parameters.wxi.erb +9 -0
- data/lib/omnibus/generator_files/windows_msi/source.wxs.erb +74 -0
- data/lib/omnibus/health_check.rb +80 -40
- data/lib/omnibus/install_path_cache.rb +11 -12
- data/lib/omnibus/library.rb +30 -3
- data/lib/omnibus/logger.rb +47 -0
- data/lib/omnibus/logging.rb +60 -0
- data/lib/omnibus/null_builder.rb +23 -0
- data/lib/omnibus/ohai.rb +70 -0
- data/lib/omnibus/overrides.rb +69 -48
- data/lib/omnibus/package_release.rb +7 -14
- data/lib/omnibus/packagers/base.rb +66 -13
- data/lib/omnibus/packagers/mac_dmg.rb +23 -3
- data/lib/omnibus/packagers/mac_pkg.rb +20 -10
- data/lib/omnibus/packagers/windows_msi.rb +109 -0
- data/lib/omnibus/project.rb +136 -79
- data/lib/omnibus/reports.rb +1 -2
- data/lib/omnibus/{s3_cacher.rb → s3_cache.rb} +15 -37
- data/lib/omnibus/software.rb +77 -27
- data/lib/omnibus/software_s3_urls.rb +50 -0
- data/lib/omnibus/sugar.rb +1 -3
- data/lib/omnibus/util.rb +45 -18
- data/lib/omnibus/version.rb +2 -3
- data/omnibus.gemspec +5 -3
- data/spec/data/complicated/config/patches/bzip2/makefile_take_env_vars.patch +15 -0
- data/spec/data/complicated/config/patches/couchdb/patch_for_couchjs_stack.patch +19 -0
- data/spec/data/complicated/config/patches/gd/gd-2.0.33-configure-libpng.patch +100 -0
- data/spec/data/complicated/config/patches/keepalived/keepalived-1.2.9_opscode_centos_5.patch +15 -0
- data/spec/data/complicated/config/patches/libedit/freebsd-vi-fix.patch +24 -0
- data/spec/data/complicated/config/patches/libiconv/libiconv-1.14_srclib_stdio.in.h-remove-gets-declarations.patch +29 -0
- data/spec/data/complicated/config/patches/libwrap/tcp_wrappers-7.6-makefile-dest-fix.patch +35 -0
- data/spec/data/complicated/config/patches/libwrap/tcp_wrappers-7.6-malloc-fix.patch +13 -0
- data/spec/data/complicated/config/patches/libwrap/tcp_wrappers-7.6-shared_lib_plus_plus-1.patch +1035 -0
- data/spec/data/complicated/config/patches/logrotate/logrotate_basedir_override.patch +12 -0
- data/spec/data/complicated/config/patches/ncurses/ncurses-5.9-solaris-xopen_source_extended-detection.patch +11 -0
- data/spec/data/complicated/config/patches/ncurses/ncurses-clang.patch +42 -0
- data/spec/data/complicated/config/patches/ncurses/patch-aa +23 -0
- data/spec/data/complicated/config/patches/ncurses/patch-ab +44 -0
- data/spec/data/complicated/config/patches/ncurses/patch-ac +40 -0
- data/spec/data/complicated/config/patches/ncurses/patch-ad +12 -0
- data/spec/data/complicated/config/patches/ncurses/patch-aix-configure +23 -0
- data/spec/data/complicated/config/patches/ncurses/patch-cxx_cursesf.h +22 -0
- data/spec/data/complicated/config/patches/ncurses/patch-cxx_cursesm.h +22 -0
- data/spec/data/complicated/config/patches/nrpe/fix_for_runit.patch +64 -0
- data/spec/data/complicated/config/patches/openssl/openssl-1.0.1f-do-not-build-docs.patch +101 -0
- data/spec/data/complicated/config/patches/postgresql/postgresql-9.1.2-configure-ncurses-fix.patch +12 -0
- data/spec/data/complicated/config/patches/ruby/patch-configure +103 -0
- data/spec/data/complicated/config/patches/ruby/ruby-aix-configure.patch +10 -0
- data/spec/data/complicated/config/patches/ruby/ruby-openssl-1.0.1c.patch +42 -0
- data/spec/data/complicated/config/patches/ruby/ruby_aix_1_9_3_448_ssl_EAGAIN.patch +57 -0
- data/spec/data/complicated/config/patches/ruby/rvm-cflags.patch +27 -0
- data/spec/data/complicated/config/projects/angrychef.rb +32 -0
- data/spec/data/complicated/config/projects/chef-windows.rb +32 -0
- data/spec/data/complicated/config/projects/chef.rb +32 -0
- data/spec/data/complicated/config/projects/chefdk-windows.rb +41 -0
- data/spec/data/complicated/config/projects/chefdk.rb +44 -0
- data/spec/data/complicated/config/software/appbundler.rb +25 -0
- data/spec/data/complicated/config/software/autoconf.rb +35 -0
- data/spec/data/complicated/config/software/automake.rb +39 -0
- data/spec/data/complicated/config/software/berkshelf.rb +44 -0
- data/{lib/omnibus/fetchers.rb → spec/data/complicated/config/software/bundler.rb} +8 -5
- data/spec/data/complicated/config/software/bzip2.rb +46 -0
- data/spec/data/complicated/config/software/cacerts.rb +44 -0
- data/spec/data/complicated/config/software/chef-client-msi.rb +88 -0
- data/spec/data/complicated/config/software/chef-gem.rb +26 -0
- data/spec/data/complicated/config/software/chef-vault.rb +43 -0
- data/spec/data/complicated/config/software/chef-windows.rb +158 -0
- data/spec/data/complicated/config/software/chef.rb +170 -0
- data/spec/data/complicated/config/software/chefdk.rb +103 -0
- data/spec/data/complicated/config/software/couchdb.rb +53 -0
- data/spec/data/complicated/config/software/curl.rb +48 -0
- data/spec/data/complicated/config/software/erlang.rb +65 -0
- data/spec/data/complicated/config/software/expat.rb +21 -0
- data/spec/data/complicated/config/software/fcgi.rb +56 -0
- data/spec/data/complicated/config/software/fcgiwrap.rb +41 -0
- data/spec/data/complicated/config/software/gd.rb +56 -0
- data/spec/data/complicated/config/software/gdbm.rb +40 -0
- data/spec/data/complicated/config/software/gecode.rb +48 -0
- data/spec/data/complicated/config/software/git.rb +40 -0
- data/spec/data/complicated/config/software/help2man.rb +30 -0
- data/spec/data/complicated/config/software/icu.rb +40 -0
- data/spec/data/complicated/config/software/jre.rb +48 -0
- data/spec/data/complicated/config/software/keepalived.rb +43 -0
- data/spec/data/complicated/config/software/libarchive.rb +50 -0
- data/spec/data/complicated/config/software/libedit.rb +69 -0
- data/spec/data/complicated/config/software/libffi.rb +71 -0
- data/spec/data/complicated/config/software/libgcc.rb +39 -0
- data/spec/data/complicated/config/software/libiconv.rb +66 -0
- data/spec/data/complicated/config/software/libjpeg.rb +39 -0
- data/spec/data/complicated/config/software/libpng.rb +38 -0
- data/spec/data/complicated/config/software/libtool.rb +52 -0
- data/spec/data/complicated/config/software/libwrap.rb +50 -0
- data/spec/data/complicated/config/software/libxml2.rb +51 -0
- data/spec/data/complicated/config/software/libxslt.rb +52 -0
- data/spec/data/complicated/config/software/libyaml-windows.rb +43 -0
- data/spec/data/complicated/config/software/libyaml.rb +62 -0
- data/spec/data/complicated/config/software/logrotate.rb +41 -0
- data/spec/data/complicated/config/software/makedepend.rb +73 -0
- data/spec/data/complicated/config/software/mysql2.rb +42 -0
- data/spec/data/complicated/config/software/nagios-plugins.rb +53 -0
- data/spec/data/complicated/config/software/nagios.rb +66 -0
- data/spec/data/complicated/config/software/ncurses.rb +149 -0
- data/spec/data/complicated/config/software/nginx.rb +40 -0
- data/spec/data/complicated/config/software/nodejs.rb +44 -0
- data/spec/data/complicated/config/software/nokogiri.rb +55 -0
- data/spec/data/complicated/config/software/nrpe.rb +61 -0
- data/spec/data/complicated/config/software/ohai.rb +64 -0
- data/spec/data/complicated/config/software/omnibus-ctl.rb +34 -0
- data/spec/data/complicated/config/software/openresty.rb +67 -0
- data/spec/data/complicated/config/software/openssl.rb +158 -0
- data/spec/data/complicated/config/software/pcre.rb +42 -0
- data/spec/data/complicated/config/software/perl-extutils-embed.rb +15 -0
- data/spec/data/complicated/config/software/perl-extutils-makemaker.rb +15 -0
- data/spec/data/complicated/config/software/perl.rb +48 -0
- data/spec/data/complicated/config/software/perl_pg_driver.rb +12 -0
- data/spec/data/complicated/config/software/php.rb +41 -0
- data/spec/data/complicated/config/software/pip.rb +30 -0
- data/spec/data/complicated/config/software/pkg-config.rb +66 -0
- data/spec/data/complicated/config/software/popt.rb +47 -0
- data/spec/data/complicated/config/software/postgresql.rb +51 -0
- data/spec/data/complicated/config/software/preparation.rb +30 -0
- data/spec/data/complicated/config/software/pygments.rb +25 -0
- data/spec/data/complicated/config/software/python.rb +49 -0
- data/spec/data/complicated/config/software/rabbitmq.rb +36 -0
- data/spec/data/complicated/config/software/rebar.rb +36 -0
- data/spec/data/complicated/config/software/redis.rb +33 -0
- data/spec/data/complicated/config/software/rsync.rb +48 -0
- data/spec/data/complicated/config/software/ruby-windows-devkit.rb +30 -0
- data/spec/data/complicated/config/software/ruby-windows.rb +30 -0
- data/spec/data/complicated/config/software/ruby.rb +162 -0
- data/spec/data/complicated/config/software/rubygems-customization.rb +57 -0
- data/spec/data/complicated/config/software/rubygems.rb +37 -0
- data/spec/data/complicated/config/software/runit.rb +118 -0
- data/spec/data/complicated/config/software/server-jre.rb +46 -0
- data/spec/data/complicated/config/software/setuptools.rb +30 -0
- data/spec/data/complicated/config/software/spawn-fcgi.rb +40 -0
- data/spec/data/complicated/config/software/sphinx.rb +26 -0
- data/spec/data/complicated/config/software/spidermonkey.rb +60 -0
- data/spec/data/complicated/config/software/sqitch.rb +24 -0
- data/spec/data/complicated/config/software/test-kitchen.rb +39 -0
- data/spec/data/complicated/config/software/unicorn.rb +27 -0
- data/spec/data/complicated/config/software/util-macros.rb +46 -0
- data/spec/data/complicated/config/software/version-manifest.rb +32 -0
- data/spec/data/complicated/config/software/xproto.rb +46 -0
- data/spec/data/complicated/config/software/yajl.rb +30 -0
- data/spec/data/complicated/config/software/zlib.rb +67 -0
- data/spec/data/projects/chefdk.rb +4 -4
- data/spec/data/projects/sample.rb +3 -0
- data/spec/data/software/erchef.rb +1 -1
- data/spec/fixtures/sample/files/windows_msi/Resources/assets/LICENSE.rtf +8 -0
- data/spec/fixtures/sample/files/windows_msi/Resources/assets/banner_background.bmp +0 -0
- data/spec/fixtures/sample/files/windows_msi/Resources/assets/dialog_background.bmp +0 -0
- data/spec/fixtures/sample/files/windows_msi/Resources/assets/project.ico +0 -0
- data/spec/fixtures/sample/files/windows_msi/Resources/assets/project_16x16.ico +0 -0
- data/spec/fixtures/sample/files/windows_msi/Resources/assets/project_32x32.ico +0 -0
- data/spec/fixtures/sample/files/windows_msi/Resources/localization-en-us.wxl +20 -0
- data/spec/fixtures/sample/files/windows_msi/Resources/parameters.wxi.erb +9 -0
- data/spec/fixtures/sample/files/windows_msi/Resources/source.wxs +74 -0
- data/spec/functional/packagers/mac_spec.rb +3 -20
- data/spec/functional/packagers/windows_spec.rb +69 -0
- data/spec/spec_helper.rb +79 -1
- data/spec/unit/artifact_spec.rb +0 -18
- data/spec/unit/build_version_dsl_spec.rb +136 -0
- data/spec/unit/build_version_spec.rb +185 -198
- data/spec/unit/config_spec.rb +18 -1
- data/spec/unit/fetchers/git_fetcher_spec.rb +55 -80
- data/spec/unit/fetchers/net_fetcher_spec.rb +11 -21
- data/spec/unit/install_path_cache_spec.rb +164 -136
- data/spec/unit/library_spec.rb +125 -5
- data/spec/unit/omnibus_spec.rb +25 -9
- data/spec/unit/overrides_spec.rb +2 -14
- data/spec/unit/package_release_spec.rb +0 -18
- data/spec/unit/packagers/base_spec.rb +84 -21
- data/spec/unit/packagers/mac_pkg_spec.rb +34 -24
- data/spec/unit/project_spec.rb +100 -102
- data/spec/unit/s3_cacher_spec.rb +0 -18
- data/spec/unit/software_spec.rb +152 -6
- data/spec/{sugar_spec.rb → unit/sugar_spec.rb} +0 -3
- metadata +365 -38
- data/lib/omnibus/cli/application.rb +0 -147
- data/lib/omnibus/cli/build.rb +0 -64
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6f254e32b62632576547008173adf8f36379a0e5
|
|
4
|
+
data.tar.gz: b70de72741324c2e54d43ec75b96ffac86d87ae1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: caafe9673d611c76b973ef63fffc557cc103d28881207b971a31fd7db59e15e3056df5e188b5010a334a1a3d9901ac7ac893803cfd9e9638b6eea69f65fc81a5
|
|
7
|
+
data.tar.gz: e16d7149c5e098e47ee46791590f94fd7b3e510e8bec736aa4d89b0cfbd24fe00fb29a4aa29ede52aef2b99b91c950f38b4314a138fd4e8408b78475427d2391
|
data/.rubocop.yml
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
AllCops:
|
|
2
|
+
Exclude:
|
|
3
|
+
- spec/data/**/*
|
|
4
|
+
|
|
5
|
+
AlignParameters:
|
|
2
6
|
Enabled: false
|
|
3
7
|
ClassLength:
|
|
4
8
|
Enabled: false
|
|
9
|
+
ClassAndModuleChildren:
|
|
10
|
+
Enabled: false
|
|
5
11
|
CyclomaticComplexity:
|
|
6
12
|
Max: 20
|
|
7
13
|
Documentation:
|
|
8
14
|
Enabled: false
|
|
15
|
+
DoubleNegation:
|
|
16
|
+
Enabled: false
|
|
9
17
|
GlobalVars:
|
|
10
18
|
Enabled: false
|
|
11
19
|
Encoding:
|
|
@@ -24,9 +32,17 @@ ParameterLists:
|
|
|
24
32
|
Max: 6
|
|
25
33
|
RaiseArgs:
|
|
26
34
|
Enabled: false
|
|
35
|
+
RedundantSelf:
|
|
36
|
+
Enabled: false
|
|
27
37
|
RescueException:
|
|
28
38
|
Enabled: false
|
|
39
|
+
SignalException:
|
|
40
|
+
EnforcedStyle: only_raise
|
|
41
|
+
SpecialGlobalVars:
|
|
42
|
+
Enabled: false
|
|
29
43
|
TrailingComma:
|
|
30
44
|
EnforcedStyleForMultiline: comma
|
|
31
45
|
TrivialAccessors:
|
|
32
46
|
Enabled: false
|
|
47
|
+
StringLiterals:
|
|
48
|
+
Enabled: false
|
data/.travis.yml
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
rvm:
|
|
2
2
|
- 1.9.3
|
|
3
|
+
- 2.0.0
|
|
4
|
+
- 2.1
|
|
3
5
|
|
|
4
|
-
bundler_args: --jobs 7 --without docs
|
|
6
|
+
bundler_args: --jobs 7 --without docs local
|
|
5
7
|
|
|
6
8
|
branches:
|
|
7
9
|
only:
|
|
@@ -11,6 +13,12 @@ script: bundle exec rake travis:ci
|
|
|
11
13
|
|
|
12
14
|
notifications:
|
|
13
15
|
hipchat:
|
|
16
|
+
on_change: true
|
|
17
|
+
on_failure: true
|
|
18
|
+
on_success: false
|
|
19
|
+
on_pull_requests: false
|
|
14
20
|
rooms:
|
|
15
|
-
|
|
16
|
-
- secure:
|
|
21
|
+
# Build Statuses
|
|
22
|
+
- secure: JdLOITSPHW5xk8eoFOmH1Js5PT6iFgswUG8fIqNq69ie2Qws2K58hPDR6HW2NBEsBb7dW1S5jT6V9RHhm0ykekvEJVa5AjebO3EsZa+Cu/VahFMg4DL+SGYgKlKrZQosd+EgVQQ3C9gj0dApGtKqf2Ej7RNESwCPY8SOduTC6d8=
|
|
23
|
+
# Release Engineering
|
|
24
|
+
- secure: PmOaqp2DFyy79VpCuvSYILblK6tP0eDa9fDG9X2j+wggoosBkmlGfnSxp3A2TXlUyK62mr6/B89dRkL2aDWTJ/gqaZ34Elx2rV5S2A5YJIx9stA2+4iXeSlOF2YMNKGwBVmF/kp/nNoG2FqUkUBrRurWAOXZnwxKIhQ7+kLVb/0=
|
data/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,45 @@
|
|
|
1
1
|
Omnibus Ruby CHANGELOG
|
|
2
2
|
======================
|
|
3
3
|
|
|
4
|
-
v3.
|
|
4
|
+
v3.1.0 (May 14, 2014)
|
|
5
|
+
-------------------------
|
|
6
|
+
### New Features
|
|
7
|
+
- `friendly_name` is added to project DSL to be able to configure the name on packagers.
|
|
8
|
+
- `resources_path` is added to project DSL to be able to specify project specific resource files for packagers.
|
|
9
|
+
- Add the ability to "sign" OSX packages
|
|
10
|
+
- Allow packagers to have project-specific resources
|
|
11
|
+
- MSI packager for windows
|
|
12
|
+
- Added helpers for generating platform-specific paths
|
|
13
|
+
- New build_version DSL
|
|
14
|
+
- All new CLI that uses LazyLoading and a much nicer interface (BC-compat)
|
|
15
|
+
- Create a real logger object - Omnibus now supports --log-level
|
|
16
|
+
- Warn when incorrectly using `replaces` in a project
|
|
17
|
+
|
|
18
|
+
### Bug fixes
|
|
19
|
+
- Fix Windows bugs in the new git caching feature
|
|
20
|
+
- Use the git sha in the git caching so that the software matches "master"
|
|
21
|
+
- Force the detaching of all disks before building an OSX DMG
|
|
22
|
+
- Remove references to now non-existent Vagrantfile
|
|
23
|
+
- Fix an issue where softwares that are both top-level and transitive dependencies were built in the wrong order (see #140 for more information)
|
|
24
|
+
- Use `source` when creating software uris and checksums
|
|
25
|
+
- Fix invalid cache operations by ensuring the bucket exists
|
|
26
|
+
- Add tag output git describe to include lightweight tags
|
|
27
|
+
- Remove explicit instance_eval from line 0
|
|
28
|
+
- Remove libz and libgcc_s from the health check whitelist
|
|
29
|
+
|
|
30
|
+
### Miscellaneous Changes
|
|
31
|
+
- Add CoreServices to OSX whitelist for healthcheck
|
|
32
|
+
- Bump the version of the generated Gemfile to Berkshelf ~> 3.0
|
|
33
|
+
- Add test coverage for overridding software source
|
|
34
|
+
- Improved test coverage for Omnibus project/software loading
|
|
35
|
+
- Refactor and updated Thor
|
|
36
|
+
- Add cucumber/aruba for testing the CLI
|
|
37
|
+
- Lazy load Ohai and Mixlib::Config default values
|
|
38
|
+
- Consistent deprecation warnings
|
|
39
|
+
- Updated README badges
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
v3.0.0 (March 27, 2014)
|
|
5
43
|
------------
|
|
6
44
|
### New Features
|
|
7
45
|
|
data/Gemfile
CHANGED
data/README.md
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
 Omnibus
|
|
2
2
|
===========================================================
|
|
3
|
-
[][gem]
|
|
4
|
+
[][travis]
|
|
5
|
+
|
|
6
|
+
[gem]: https://rubygems.org/gems/omnibus
|
|
7
|
+
[travis]: http://travis-ci.org/opscode/omnibus-ruby
|
|
4
8
|
|
|
5
9
|
Easily create full-stack installers for your project across a variety of platforms.
|
|
6
10
|
|
|
@@ -32,17 +36,15 @@ $ gem install omnibus
|
|
|
32
36
|
You can now create an Omnibus project in your current directory by using the project generator feature.
|
|
33
37
|
|
|
34
38
|
```bash
|
|
35
|
-
$ omnibus
|
|
39
|
+
$ omnibus new $MY_PROJECT_NAME
|
|
36
40
|
```
|
|
37
41
|
|
|
38
|
-
This will generate a complete project skeleton in the directory
|
|
39
|
-
|
|
40
|
-
This minimal project will actually build.
|
|
42
|
+
This will generate a complete project skeleton in the directory `$MY_PROJECT_NAME`
|
|
41
43
|
|
|
42
44
|
```bash
|
|
43
|
-
$ cd
|
|
45
|
+
$ cd $MY_PROJECT_NAME
|
|
44
46
|
$ bundle install --binstubs
|
|
45
|
-
$ bin/omnibus build
|
|
47
|
+
$ bin/omnibus build $MY_PROJECT_NAME
|
|
46
48
|
```
|
|
47
49
|
|
|
48
50
|
More details can be found in the generated project README file.
|
|
@@ -50,7 +52,7 @@ More details can be found in the generated project README file.
|
|
|
50
52
|
|
|
51
53
|
More documentation
|
|
52
54
|
------------------
|
|
53
|
-
If you are creating OSX packages, please see the [OSX-
|
|
55
|
+
If you are creating OSX packages, please see the [OSX-specific documentation](docs/Building on OSX.md).
|
|
54
56
|
|
|
55
57
|
|
|
56
58
|
Configuration DSL
|
data/Rakefile
CHANGED
|
@@ -1,12 +1,23 @@
|
|
|
1
|
-
require 'bundler/setup'
|
|
2
1
|
require 'bundler/gem_tasks'
|
|
3
2
|
|
|
4
3
|
require 'rspec/core/rake_task'
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
[:unit, :functional].each do |type|
|
|
5
|
+
RSpec::Core::RakeTask.new(type) do |t|
|
|
6
|
+
t.pattern = "spec/#{type}/**/*_spec.rb"
|
|
7
|
+
t.rspec_opts = [].tap do |a|
|
|
8
|
+
a.push('--color')
|
|
9
|
+
a.push('--format progress')
|
|
10
|
+
end.join(' ')
|
|
11
|
+
end
|
|
7
12
|
end
|
|
8
|
-
|
|
9
|
-
|
|
13
|
+
|
|
14
|
+
require 'cucumber/rake/task'
|
|
15
|
+
Cucumber::Rake::Task.new(:acceptance) do |t|
|
|
16
|
+
t.cucumber_opts = [].tap do |a|
|
|
17
|
+
a.push('--color')
|
|
18
|
+
a.push('--format progress')
|
|
19
|
+
a.push('--strict')
|
|
20
|
+
end.join(' ')
|
|
10
21
|
end
|
|
11
22
|
|
|
12
23
|
require 'rubocop/rake_task'
|
|
@@ -15,7 +26,7 @@ Rubocop::RakeTask.new(:style)
|
|
|
15
26
|
|
|
16
27
|
namespace :travis do
|
|
17
28
|
desc 'Run tests on Travis'
|
|
18
|
-
task ci:
|
|
29
|
+
task ci: %w(unit acceptance style)
|
|
19
30
|
end
|
|
20
31
|
|
|
21
|
-
task default:
|
|
32
|
+
task default: %w(travis:ci)
|
data/bin/omnibus
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
# https://twitter.com/mitchellh/status/283014103189053442
|
|
5
5
|
Signal.trap('INT') { exit 1 }
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
$:.push File.expand_path('../../lib', __FILE__)
|
|
8
|
+
$stdout.sync = true
|
|
8
9
|
|
|
9
10
|
require 'omnibus/cli'
|
|
10
|
-
|
|
11
|
-
Omnibus::CLI::Application.start
|
|
11
|
+
Omnibus::CLI::Runner.new(ARGV.dup).execute!
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
Building Omnibus Packages for Windows
|
|
2
|
+
=====================================
|
|
3
|
+
This document describes the requirements and configurables for building
|
|
4
|
+
omnibus packages on Windows. Omnibus builds MSI packages on Windows systems.
|
|
5
|
+
|
|
6
|
+
Requirements
|
|
7
|
+
------------
|
|
8
|
+
In order to build an omnibus package on Windows you need:
|
|
9
|
+
|
|
10
|
+
* Open Source Windows Installer Toolset: [WIX](http://wixtoolset.org/)
|
|
11
|
+
* In order to use built in semantic versioning:
|
|
12
|
+
[Git for Windows](http://msysgit.github.io/)
|
|
13
|
+
|
|
14
|
+
MSI Source Files
|
|
15
|
+
----------------
|
|
16
|
+
In order to create an MSI package, we will need to have some source files that
|
|
17
|
+
can be used by WIX toolset to be able to build the MSI. Omnibus creates some
|
|
18
|
+
skeletal MSI source files for you to help you get started.
|
|
19
|
+
|
|
20
|
+
When you execute `omnibus project <<project_name>>` these files will be created
|
|
21
|
+
to be able to build MSIs:
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
C:\> omnibus project demo
|
|
25
|
+
...
|
|
26
|
+
create omnibus-demo/files/windows_msi/Resources/localization-en-us.wxl.erb
|
|
27
|
+
create omnibus-demo/files/windows_msi/Resources/parameters.wxi.erb
|
|
28
|
+
create omnibus-demo/files/windows_msi/Resources/source.wxs
|
|
29
|
+
create omnibus-demo/files/windows_msi/Resources/assets/LICENSE.rtf
|
|
30
|
+
create omnibus-demo/files/windows_msi/Resources/assets/banner_background.bmp
|
|
31
|
+
create omnibus-demo/files/windows_msi/Resources/assets/dialog_background.bmp
|
|
32
|
+
create omnibus-demo/files/windows_msi/Resources/assets/project.ico
|
|
33
|
+
create omnibus-demo/files/windows_msi/Resources/assets/project_16x16.ico
|
|
34
|
+
create omnibus-demo/files/windows_msi/Resources/assets/project_32x32.ico
|
|
35
|
+
...
|
|
36
|
+
```
|
|
37
|
+
- `localization-en-us.wxl.erb` => File that contains the strings that are being
|
|
38
|
+
used in the MSI user interface.
|
|
39
|
+
- `parameters.wxi.erb` => File that contains the dynamic information needed for
|
|
40
|
+
the MSI e.g. version numbers.
|
|
41
|
+
- `assets/LICENSE.rtf` => License text in Rich Text Format that is displayed
|
|
42
|
+
during MSI installation.
|
|
43
|
+
- `assets/*.bmp` => Bitmaps that are displayed during installation.
|
|
44
|
+
- `assets/*.ico` => Icons that are used in the system for your application.
|
|
45
|
+
|
|
46
|
+
Omnibus requires `wxl`, `wxs` and `wxi` files to be present on the system in
|
|
47
|
+
order to build an MSI. You can also create these files as erb templates and
|
|
48
|
+
omnibus will render them before starting building the MSI.
|
|
49
|
+
|
|
50
|
+
These files are XML files that are created based on Windows WIX Schema. By
|
|
51
|
+
default they will package the files under configured `install_dir` and present
|
|
52
|
+
a UI that lets users to choose an installation location for the packaged files.
|
|
53
|
+
You can modify these XML files based on the documentation
|
|
54
|
+
[here](http://wixtoolset.org/documentation/manual/v3/xsd/).
|
|
55
|
+
|
|
56
|
+
Configurables
|
|
57
|
+
-------------
|
|
58
|
+
You can use `msi_parameters` DSL option in your Omnibus project files to pass
|
|
59
|
+
dynamic information to your MSI source templates. You can specify a hash or a
|
|
60
|
+
block for this option. When block is specified, it is executed at the time of
|
|
61
|
+
rendering and it is expected to return a hash. Here is an example:
|
|
62
|
+
|
|
63
|
+
```ruby
|
|
64
|
+
# config/projects/my_project.rb
|
|
65
|
+
name 'my_project'
|
|
66
|
+
|
|
67
|
+
...
|
|
68
|
+
|
|
69
|
+
msi_parameters do
|
|
70
|
+
# Set the upgrade code dynamically
|
|
71
|
+
params = { }
|
|
72
|
+
params[:upgrade_code] = determine_upgrade_code()
|
|
73
|
+
params
|
|
74
|
+
end
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
```xml
|
|
78
|
+
<!-- files/windows_msi/Resources/parameters.wxi.erb -->
|
|
79
|
+
|
|
80
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
81
|
+
<Include>
|
|
82
|
+
<!--
|
|
83
|
+
Versioning. These have to be changed for upgrades.
|
|
84
|
+
-->
|
|
85
|
+
<?define VersionNumber="<%= @msi_version %>" ?>
|
|
86
|
+
<?define DisplayVersionNumber="<%= @msi_display_version %>" ?>
|
|
87
|
+
|
|
88
|
+
<?define UpgradeCode="<%= msi_parameters[:upgrade_code] %>" ?>
|
|
89
|
+
</Include>
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
MSI Creation
|
|
93
|
+
------------
|
|
94
|
+
To create an MSI you would normally run:
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
C:\> omnibus build project <name>
|
|
98
|
+
```
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
Feature: Backwards-compatible deprecated commands
|
|
2
|
+
Background:
|
|
3
|
+
* I have an omnibus project named "hamlet"
|
|
4
|
+
|
|
5
|
+
Scenario: When "build project" is given
|
|
6
|
+
* I run `omnibus build project hamlet`
|
|
7
|
+
* the output should contain:
|
|
8
|
+
"""
|
|
9
|
+
The interface for building a project has changed. Please use 'omnibus build hamlet' instead.
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
Scenario: When "build software" is given
|
|
13
|
+
* I run `omnibus build software preparation`
|
|
14
|
+
* the output should contain:
|
|
15
|
+
"""
|
|
16
|
+
Building individual software definitions is no longer supported!
|
|
17
|
+
"""
|
|
18
|
+
* the exit status should not be 0
|
|
19
|
+
|
|
20
|
+
Scenario: When --timestamp is given
|
|
21
|
+
* I run `omnibus build hamlet --timestamp`
|
|
22
|
+
* the output should contain:
|
|
23
|
+
"""
|
|
24
|
+
The '--timestamp' option has been deprecated! Please use '--override append_timestamp:true' instead.
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
Scenario: When -t is given
|
|
28
|
+
* I run `omnibus build hamlet -t`
|
|
29
|
+
* the output should contain:
|
|
30
|
+
"""
|
|
31
|
+
The '--timestamp' option has been deprecated! Please use '--override append_timestamp:true' instead.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
Scenario: When --no-timestamp is given
|
|
35
|
+
* I run `omnibus build hamlet --no-timestamp`
|
|
36
|
+
* the output should contain:
|
|
37
|
+
"""
|
|
38
|
+
The '--no-timestamp' option has been deprecated! Please use '--override append_timestamp:false' instead.
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
Scenario: When "project PROJECT" is given
|
|
42
|
+
* I run `omnibus project hamlet`
|
|
43
|
+
* the output should contain:
|
|
44
|
+
"""
|
|
45
|
+
The project generator has been renamed to 'omnibus new'. Please use 'omnibus new' in the future.
|
|
46
|
+
"""
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
Feature: omnibus build
|
|
2
|
+
Scenario: When the project does not exist
|
|
3
|
+
* I have an omnibus project named "hamlet"
|
|
4
|
+
* I run `omnibus build bacon`
|
|
5
|
+
* the output should contain:
|
|
6
|
+
"""
|
|
7
|
+
I could not find an Omnibus project named 'bacon'! Valid projects are:
|
|
8
|
+
* hamlet
|
|
9
|
+
"""
|
|
@@ -0,0 +1,21 @@
|
|
|
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 an Omnibus project named 'hamlet'!
|
|
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 local/build/hamlet"
|
|
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 local/build/hamlet
|
|
21
|
+
"""
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
"""
|
|
@@ -0,0 +1,8 @@
|
|
|
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
|
|
@@ -0,0 +1,12 @@
|
|
|
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(.+)$/
|