9.1.6 (2025-12-09)
- add el-10 to the packagers rpm file #1183 (muthuja)
- Revert "adding a Notice.txt" #1181 (sean-sype-simmons)
- adding a Notice.txt #1180 (johnmccrae)
- Updating ohai and license_scout #1179 (johnmccrae)
- Sean sype simmons/chef 24775 omnibus configuration pipeline configurations3 cache cconfiguration #1177 (sean-sype-simmons)
- attempting to configure a s3 private acl setting #1174 (sean-sype-simmons)
- Sean sype progress/chef 21530 platform support windows2025 #1170 (sean-sype-simmons)
- Chef 9376 rpm signing enabled for amazon-2023/muhtuja #1145 (muthuja)
9.0.24 (2024-01-16)
- Truncate
depend fmriversion specifiers to allow Solaris install flexibility #1144 (tpowell-progress)
9.0.23 (2023-09-25)
9.0.23 (2023-09-25)
9.0.22 (2023-08-18)
- omnibus/cli: Exit with non-zero code on failure #822 (legal90)
- Skip erroneous package signing arg for el9 #1109 (vkarve-chef)
- Fix Ruby 3.1 deprecation warning with ERB.new #1108 (stanhu)
- Update gpg_name to fix RockyLinux rpm signing issue #1118 (poorndm)
- Update metadata with rocky platform #1125 (poorndm)
9.0.17 (2023-02-20)
- Remove authorization from version manifest hash #1094 (gcs-devel)
- Update PULL_REQUEST_TEMPLATE.md #1097 (gcs-devel)
- BS-147 Adding build metadata to omnibus version manifest #1103 (justingruber)
- retry download without s3 cache flag if cache miss #1104 (justingruber)
- adding this lib as a safe dependency to solve the error on an aix build #1105 (sean-simmons-progress)
9.0.12 (2022-11-17)
9.0.11 (2022-11-15)
- Add config flag to toggle health-check #1086 (vkarve-chef)
- Fix failing s3 accelerate test with a version pin #1088 (gscho)
- BS-94/use internal sources #1087 (gscho)
9.0.8 (2022-10-20)
- Whitelist files for Chef Infra Client builds #1064 (jeremiahsnapp)
- Add -rpath to LDFLAGS for FreeBSD #1067 (jeremiahsnapp)
- Replace BSD tar with GNU tar on Windows #1065 (jeremiahsnapp)
- IPACK-204 #1069 (jeremiahsnapp)
- [IPACK-200]: explicitly delegate keyword arguments #1068 (kanad-progress)
- Replace dependency on nokogiri with rexml #1070 (jeremiahsnapp)
- Whitelist liblzma #1076 (poorndm)
- Revert the changes - liblzma #1077 (poorndm)
- Updated regex to match exactly 10, and 10.x #1078 (kanad-progress)
- Add solaris basic os libs to acceptlist, currently called whitelist. #1082 (marcparadise)
- INFC-268 fix Solaris build #1083 (tpowell-progress)
8.3.2 (2022-02-15)
- Whitelist libbrotlidec for curl builds on macOS #1041 (skeshari12)
- Revert "Fix mac_x-10 failure for chef-workstation" #1042 (jeremiahsnapp)
- Make the omnibus config sugarable #1045 (lamont-granquist)
- Allow ohai versions > 17 to be used #1040 (balasankarc)
- Don't generate build-id files in RPM packages #1050 (jeremiahsnapp)
- Avoid double logging removal of non-mach-o libs #988 (tas50)
- fixed typo in referenced argument name #1054 (vkarve-chef)
- Better healthcheck correctness #1056 (lamont-granquist)
- Fix omnibus healthcheck spinning on chef-server builds #1060 (lamont-granquist)
- Whitelist files for
makeon AIX #1062 (jeremiahsnapp)
8.2.2 (2021-09-28)
- Update aruba requirement from ~> 1.1 to ~> 2.0 #1029 (dependabot[bot])
- Add new DSL for GO to builder #1032 (mimaslanka)
- Fix pathing for go on windows #1034 (mimaslanka)
- Fixes for omnibus for ruby-3.0 #1038 (lamont-granquist)
8.1.15 (2021-08-02)
- Switch from -02 to -03 on Linux/macOS #999 (tas50)
- Update chefstyle requirement from = 1.6.2 to = 1.7.1 #1001 (dependabot-preview[bot])
- Add support for macOS 11 and multiple architectures #1002 (tduffield)
- pull in new fastmsi dll that uses an absolute path to point to 7z.exe #1003 (mwrock)
- Update chefstyle requirement from = 1.7.1 to = 1.7.2 #1004 (dependabot-preview[bot])
- Add hostArchitectures to macOS Distribution file #1005 (tduffield)
- Prevent test failures with the latest fauxhai #1009 (tas50)
- Update chefstyle requirement from = 1.7.2 to = 1.7.4 #1007 (dependabot-preview[bot])
- Update chefstyle requirement from = 1.7.4 to = 1.7.5 #1011 (dependabot-preview[bot])
- Pin to Ohai gem < 17 #1013 (schisamo)
- Add Ruby 3 testing #1006 (tas50)
- Revert "argument changes to support ruby 3" #1016 (tas50)
- Upgrade to GitHub-native Dependabot #1012 (dependabot-preview[bot])
- Updating aruba version from 0.5 to 1.1 #1019 (skeshari12)
- Fix omnibus builds failure #1024 (jayashrig158)
- Whitelist SystemConfiguration libs #1021 (jayashrig158)
- Updates rpm spec to use SHA256 for filedigest, from MD5 #1027 (collinmcneese)
- Add rpmsign instead of using rpmbuild for rpms #1031 (mimaslanka)
8.0.15 (2021-02-13)
- Update chefstyle requirement from = 1.5.2 to = 1.5.8 #993 (dependabot-preview[bot])
- Update chefstyle requirement from = 1.5.8 to = 1.5.9 #994 (dependabot-preview[bot])
- Add cumulus platform support #996 (predominant)
- Update dmg unmount logging to start at attempt 1 #990 (tas50)
- Update chefstyle requirement from = 1.5.9 to = 1.6.1 #997 (dependabot-preview[bot])
- Update chefstyle requirement from = 1.6.1 to = 1.6.2 #998 (dependabot-preview[bot])
8.0.9 (2020-12-14)
- Replace chef-sugar for DSL helpers with chef-utils 15.4+ #980 (lamont-granquist)
- Remove SLES 11 check #981 (tas50)
- Switch from fauxhai to fauxhai-ng #982 (tas50)
- Update chefstyle requirement from = 1.5.0 to = 1.5.1 #984 (dependabot-preview[bot])
- Remove EOL Windows Support (pre-2012) #983 (tas50)
- Add Installbuilder packager(installbuilder) #908 (niekrasp)
- Revert addition of InstallBuilder builder #985 (tas50)
- Update chefstyle requirement from = 1.5.1 to = 1.5.2 #986 (dependabot-preview[bot])
- Improve debug messages for macOS code signing #987 (tas50)
- Create sleep loop in compress_dmg #989 (jeremiahsnapp)
7.0.34 (2020-11-11)
- Update chefstyle requirement from = 1.1.0 to = 1.1.2 #954 (dependabot-preview[bot])
- Update chefstyle requirement from = 1.1.2 to = 1.1.3 #955 (dependabot-preview[bot])
- Fill in some of the gotchas that are easy to hit with omnibus #951 (jaymzh)
- Remove legacy CI configs and redundant encoding comment #956 (tas50)
- Update chefstyle requirement from = 1.1.3 to = 1.2.0 #957 (dependabot-preview[bot])
- Ruby 2.7.1 adds a warning on calling open directly, needs to be URI.open #940 (mattray)
- Update chefstyle requirement from = 1.2.0 to = 1.2.1 #958 (dependabot-preview[bot])
- Switch expand_path on file to expand_path on dir #959 (tas50)
- Optimize our requires #960 (tas50)
- Fix Ruby 2.4 tests #963 (tas50)
- Update chefstyle requirement from = 1.2.1 to = 1.3.2 #967 (dependabot-preview[bot])
- Update chefstyle requirement from = 1.3.2 to = 1.4.0 #968 (dependabot-preview[bot])
- Update chefstyle requirement from = 1.4.0 to = 1.4.2 #969 (dependabot-preview[bot])
- Update chefstyle requirement from = 1.4.2 to = 1.4.3 #970 (dependabot-preview[bot])
- Test on Ruby 2.7 in buildkite #926 (tas50)
- Fix dependency path for env with racc gem #972 (jaymalasinha)
- Require Ruby 2.6 or later #971 (tas50)
- Remove old pins we don't need anymore #974 (tas50)
- Update chefstyle requirement from = 1.4.3 to = 1.4.5 #976 (dependabot-preview[bot])
- use 7zip for FastUnzip MSI action to boost zip expansion performance #977 (mwrock)
- Update chefstyle requirement from = 1.4.5 to = 1.5.0 #978 (dependabot-preview[bot])
7.0.13 (2020-06-15)
7.0.12 (2020-06-05)
- old PR that was merged was very old #910 (lamont-granquist)
- Don't mark the cache dirty if it already is. #911 (btm)
- Update chefstyle requirement from = 0.13.3 to = 0.14.0 #912 (dependabot-preview[bot])
- Switch back to chef-sugar #914 (tas50)
- Remove Solaris 10 platform and enable some hardening flags on Linux/Mac/FreeBSD #915 (lamont-granquist)
- Minor spelling, grammar, punctuation #917 (ehershey)
- fix typo #916 (ehershey)
- Remove myself as maintainer #919 (scotthain)
- Typos, formatting, links to other generated files #918 (ehershey)
- Update thor requirement from ~> 0.18 to >= 0.18, < 2.0 #921 (dependabot-preview[bot])
- Update the rpm package signing to work with newer rpm version #892 (twk3)
- Cache gem installs in S3 to speed up tests #925 (tas50)
- Implement deep signing for macOS Notarization #924 (jonsmorrow)
- Add AWS IAM authentication for S3 caching and publishing #927 (jeremiahsnapp)
- Enable entitlements file for macOS #928 (jonsmorrow)
- point to 1-stable branch for changes to the overrides.rb file. #930 (PrajaktaPurohit)
- Update instructions to get builds passing when a new license needs to be added. #932 (PrajaktaPurohit)
- Update chefstyle requirement from = 0.14.0 to = 0.14.1 #929 (dependabot-preview[bot])
- Whitelist libanl #934 (lamont-granquist)
- Fix Ubuntu version in generated README.md #935 (stevendanna)
- Update chefstyle requirement from = 0.14.1 to = 0.15.1 #936 (dependabot-preview[bot])
- Update chefstyle requirement from = 0.15.1 to = 1.0.1 #937 (dependabot-preview[bot])
- Update ohai requirement from >= 13, < 16 to >= 13, < 17 #939 (dependabot-preview[bot])
- Update chefstyle requirement from = 1.0.1 to = 1.1.0 #942 (dependabot-preview[bot])
- Pin ffi to < 0.13 for windows #943 (james-stocks)
6.1.9 (2019-11-01)
- force builds nil versions #619 (lamont-granquist)
- Update chefstyle requirement from = 0.12 to = 0.13.3 #900 (dependabot-preview[bot])
6.1.7 (2019-10-29)
- Add Whitelist Libs for Catalina #909 (jonsmorrow)
- add
kalias rolling OS #907 (jmartin-r7) - Update artifactory requirement from ~> 2.0 to ~> 3.0 #899 (dependabot-preview[bot])
6.1.4 (2019-09-19)
- Separate removing writable dmg #895 (jaymalasinha)
- Use architecture from platform mappings file when publishing packages #896 (jeremiahsnapp)
- Change exclude to use
**to skip levels #834 (richardc) - Pretty print version manifest to pkg folder #839 (balasankarc)
- Unmount dmg before detaching #897 (jaymalasinha)
- use chef-fauxhai, chef-sugar-ng and chef-cleanroom gems #903 (lamont-granquist)
6.0.30 (2019-06-13)
- Add buildkite PR verification to expeditor #891 (tas50)
- Switch off my fork of rspec-json_expectations & fix spec failures #885 (tas50)
v6.0.25 (2019-04-16)
v6.0.24 (2019-04-08)
- New projects lacked critical files, such as kitchen and package scripts #867 (iamjohnnym)
v6.0.23 (2019-04-01)
- Break dmg creation and assets copying into separate steps #881 (jeremiahsnapp)
v6.0.22 (2019-03-28)
v6.0.21 (2019-03-20)
v6.0.20 (2019-03-18)
v6.0.19 (2019-02-26)
- Remove custom LDFLAGS and CFLAGS for osx. #878 (jonsmorrow)
v6.0.18 (2019-02-01)
- Add marcparadise to maintainers #874 (marcparadise)
v6.0.17 (2019-02-01)
- add support for light to delay validation #842 (jmartin-r7)
v6.0.16 (2019-02-01)
- allow project configuration to skip packagers #843 (jmartin-r7)
v6.0.15 (2019-02-01)
- Drop testing of unsupported platforms #875 (marcparadise)
v6.0.14 (2019-01-23)
v6.0.13 (2019-01-23)
v6.0.12 (2019-01-18)
v6.0.11 (2019-01-02)
v6.0.10 (2018-12-10)
- Revert "Fix comparisons for semver style git tags" #865 (lamont-granquist)
v6.0.9 (2018-12-07)
- Fix comparisons for semver style git tags #864 (lamont-granquist)
v6.0.8 (2018-12-03)
v6.0.7 (2018-11-26)
- Use RPM on Amazon Linux 2 #863 (repeatedly)
v6.0.6 (2018-11-19)
v6.0.5 (2018-11-19)
v6.0.4 (2018-10-11)
- Remove generator file pins #859 (lamont-granquist)
v6.0.3 (2018-10-11)
- Using aws-sdk-s3 #855 (JackDanger)
v6.0.2 (2018-10-10)
- Unpin gcc-4.8 for later versions of Suse #858 (jaymalasinha)
v6.0.1 (2018-08-10)
- Update Opscode references to Chef and bump copyrights #850 (tas50)
- Bump to 6.0 and add release notes #849 (tas50)
v5.6.17 (2018-08-10)
v5.6.16 (2018-08-10)
v5.6.15 (2018-08-09)
v5.6.14 (2018-08-09)
v5.6.13 (2018-08-09)
v5.6.12 (2018-04-13)
- Support appbundler 0.11.0 #776 (lamont-granquist)
v5.6.11 (2018-04-05)
v5.6.10 (2018-02-17)
v5.6.9 (2018-02-09)
v5.6.8 (2018-02-08)
v5.6.7 (2018-02-08)
v5.6.6 (2018-01-30)
v5.6.5 (2018-01-30)
v5.6.4 (2018-01-29)
- Update custom action and support MSIFASTINSTALL property #815 (stuartpreston)
v5.6.3 (2018-01-26)
v5.6.2 (2018-01-25)
- S3 cache: fix bug using access_key_id/secret_access_key (#786)
- Add AWS Shared Credentials support.(#781)
- Add option to build command to populate S3 cache. (#781)
- Add strip BuildCommand. (#775)
- Add support for building against omnibus-toolchain on Windows. (#759)
- Don't require build user to have a configured Git identity (#758)
- Added endpoint and S3 transfer acceleration as config options (#736)
- Only checkout from git_cache once (#747)
- IPS: Add version-lock facet at end of manifest (#745)
- Alpine Linux Support (#744)
- Add fips_mode flags (#742)
- SmartOS pkgsrc support (#733)
- Make DEB and RPM compression configurable (#738)
- Check for the transitive dependency licensing errors during post_build. (#729)
- Enable gcc 4.8 on suse/sles if available (#720)
- Allow manually specify transitive dependency license information (#712)
- Various bugfixes for APPX support. (#752, #759)
- Expose overrides. (#780)
- Fixed documentation links and table in README (#769, #778)
- Fixed Travis CI Label (#777)
- git_cache fixes: Use
.joinon git commands lines to avoid mangle and setcore.ingorecase=false(#768) - Ignore paths with braces in the BFF packager. (#771)
- Switch from single to double quotes in git config. (#767)
- Fixed Windows globbing. (#766)
- Update pedump to latest released. (#714)
- Retry git network operations by default (#753)
- Fix guard for non-caching projects (#751)
- DMG bug fixes (#748)
- IPS Package fixes (#718, #728, #740)
- Artifactory publisher fixes/improvements (#725)
- Do not autoload fetcher to avoid eace condition (#715)
- Add build timings to the local output (#669)
- Add
appxpackager (#675, #676, #677) fatal_licensing_warningsconfiguration to fail the build when there are licensing problems (#678)- Ensure consistent code style using Chefstyle \o/ (#681)
- Drop Ruby 2.0 support (#697)
- Remove fakeroot from RPM packager (#698)
- Support license collection with git cache (#700)
- Add
SERIAL_NUMBERto omnibus code, which is used in git caching to invalidate caches when omnibus code changes require it to be invalidated (#704) - Support license collection of transitive dependencies (via license_scout gem) (#705)
- Add
skip_transitive_dependency_licensingdsl method to Software. Use this when the software does not use any dependency manager. (#705)
- Make license files readable inside the packages (#673)
- Prefer server marketing names on windows (#679)
- Instead of exe, use bat if present on windows (#684)
- Fix changelog generation with symbolized keys (#687)
- Include license and version manifest in generated
*.metadata.json(#656) - Deprecate the
--version-manifestonomnibus publish(#656) - Create Solaris IPS package (#654)
- Use symbolized keys for all Manifest hashes (#657)
- Publish a package’s
*.metadata.jsonto Artifactory (#664) - Add the build’s
LICENSEcontent to*.metadata.json(#664)
- Add proper support for loading v2 manifests (#657)
- Replacing the use of JSON gem with FFI_yajl (#661)
- Get correct architecture name for Debian environments from
dpkg(#646) - Update fauxhai to latest (#652)
- Use project.license in deb and rpm packagers if available (#653)
- Whitelist additional Solaris11 libraries (#650)
- Use gcc 4.9 on freebsd (#649)
- Per-Platform manifest generation (#645)
- Support omnibus manifest arguments:
omnibus manifest --os=OS --platform-family=FAMILY --platform=PLATFORM --platform-version=VERSION - 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.
- Affects chef-sugar's
windows?,solaris?and similar functions, which are used by software inomnibus-software
- Support omnibus manifest arguments:
- Performance: Ignore non-libraries in health checks (#642)
- Add
githubsource (#643) - Add
susesupport (#647) - Exclude files with whitespace names from AIX packages (#641)
- Fix compilation problems on Windows (#640)
- Disable
sseto avoid compilation segfaults - Don't change newlines when
git pulling
- Disable
- Warn when software licenses are missing for software components (#638)
- Add Chef MLSA to the list of recognized licenses (#639)
- Download remote license files into the LICENSES directory (#637)
-
License reporting (#635):
- Add
license&license_fileDSL methods to software.license(String): Sets the license of the software component.license_file(String): The relative path or the url of the license file of the software to be included in"LICENSES"directory.- Can be used multiple times.
- You can use
:project_licenseas a special value if the software is build related code and if it is using project's license.
- Add
license,license_fileandlicense_file_pathDSL methods to project.license(String): Sets the license of the project.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.license_file_path(String): The relative path of the main license file that will be created for the project. Default:"LICENSE".
With this omnibus will:
- Collect all the license files specified in software components into
install_dir/LICENSESdirectory. - Create a license file at
install_dir/LICENSEwhich will contain license of the project and license information for all the software components that are being included.
- Add
-
Ability to change
dist_tagin RPM packager. (#634) -
Ability to update submodules during git checkout. (#603)
- New
configuredsl method. (#572) - New
maintainerdsl method. (#618) - New
update_config_guessdsl method. (#632) - Ability to enable building software components from source on windows. (#572, #583, #584, #586, #612)
- Default to UTF-8 external encoding globally. (#573)
- Restore invalid file names on AIX. (#575)
- Fix bff log loop. (#579)
- Use 7z.exe instead of tar.exe on windows. (#578)
- Make generated package scripts old-school Unix friendly. (#582)
- Fix directory cleanup logic in
git_fetcher. (#509) - Use -O2 when building with standard compiler flags. (#591)
- Cache software sources under
.../src/<software name>/<package>. (#597) - Add libmd.so.* to freebsd whitelist. (#600)
- Remove existing links in the destination when syncing files. (#602)
- Skip adding DEBIAN directory to md5sums file. (#595)
- Autoprunes files with spaces on Solaris. (#609)
- Allow assets with non-md5 checksums to be cached in s3. (#611)
- Print NetFetcher retries at the info level. (#614)
- Do not modify CRLF when git caching. (#616)
- Ensure we always swap chown back to default. (#617)
- Wind River Linux 5 support for Cisco Nexus devices (#539)
- [artifactory publisher] Support custom properties in Artifactory publishing (#568)
- [msi packager] New "fast" mode for MSI packager (#565)
- Change the
appbundlerDSL method to not make an apps dir - Unit and functional tests now run on Windows (and are tested by Appveyor) (#556, #557)
- [msi packager] Fix missing package name in signature (#541)
- [rpm packager] Fix building RPMs on ARM platforms (#542)
- [bff packager] Fix regression with AIX package ownership in staging directory (#553)
- [solaris packager] Use the proper architecture value in Solaris packages (#554, #555)
- Add info message for publish cli corner case (#551)
- [net fetcher] missing checksum raises exception (#549)
- Dropped Ruby 1.9.x support (#567)
- Allow semver prefixes that start with "v"
- Reset target_shasum in PathFetcher after every fetch, preventing erroneous GitCache misses for builds that produced local artifacts during the previous omnibus run.
- Allow users to specify options to the underlying FileSyncer in a Software definition
- Add CPPFLAGS in with_standard_compiler_flags
- Add a Fedora dist tag to package name and spec release
- Copy distribution.xml.erb also when creating project with --pkg-assets
- Manage version manifests with Omnibus. Omnibus now creates a version manifest in text and JSON.
- Retry failed downloads
- Support inclusion of email address in Wix template
- Allow solaris to use mapfiles
- A new
omnibus generate changelogcommand generates an opinionated CHANGELOG entry based on metadata in commit messages. - Add warnings on empty globs.
- Raspberry Pi 2 support
- Clone git repositories with --recursive flag
- Add ability to sign MSIs
- Support running Omnibus with 64-bit ruby on Windows
- Create an Artifactory build for published packages
- Add a "windows_arch" omnibus option to choose 32/64 bit builds.
- Set directory ownership/permissions to match the filesystem package.
- Allow Windows 10 builders
- Allow omnibus to build "bundled" Windows installers
- Set perms on control files per Ubuntu Software Center's lintian checks.
- Replace uber-s3 dependency with aws-sdk
- Config.append_timestamp is now properly handled by the build_version
DSL. For some users, this may introduce a change in behavior. To
revert to the old behavior set append_timestamp to false in
omnibus.rbor use --override append_timestamp:false at the command line. - 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.
- Clean up "files listed twice" warnings. This should allow signing RPMs on EL 7
- dpkg uses arch name ppc64el (instead of ppc64le) for little endian
- Override equality operator for ManifestEntry. Prior to this, we simply tested basic object identity, which would result in many "updated" dependencies
- Correctly determine git repository when running in a subdirectory
- 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.
- Accomidate hardlinks properly
- When building spec file, handle path names that contain spaces
- Add libkvm and libprocstat to freebsd whitelist
- Properly render ERB templates that do not have variables
- Change git fetcher to correctly fetch when repo name is the same but branch/version is different.
Omnibus::SemanticVersion.newnow raisesOmnibus::InvalidVersioninstead ofOmnibus::SemanticVersion::InvalidVersion- Cache Builder#shasum before Builder#build to ensure consistent result.
- Update chef-sugar to 3.0 which adds ppc64le support.
- The MSI packager now adds the architecture to the msi name. The file names go from
package_name-build_version-build_iterationtopackage_name-build_version-build_iteration-arch.
- Implement packager-specific DSLs. Packagers now define their own custom methods that may be configured using the
packageblock in a project file. For more information, please see the README or any of the embedded "Building on X" documents. - 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-assetsflag during project generation. Omnibus will prefer local resources in theresources/directory and then fall-back to "sane" defaults which are vendored within Omnibus. - 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.
- Refactored fetcher objects that include performance enhancements and better cachability across platforms.
- Added
Omnibus.whichto searchENV['PATH']for the given executable. This is used internally in Omnibus but is also available inside software definitions. - 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.
- 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.
- Extracted template rendering into a helper module. Omnibus now renders templates from this single method, so you always have the same ERB expectations.
- Added many new DSL methods for packagers, builders, project, and software. Please see the DSL Changes below for detailed information.
- Extracted FileSyncer into a top-level class with added test coverage.
- Builder DSL method
erbwill search all configured software repos for the template, following the previously described specificity search. - Builder DSL method
patchwill search all configured software repos for the patch file, following the previously described specificity search. - 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. - 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. - 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.
- Added a TGZ compressor for post-processing larger packagers into tarballs.
- Use Ruby's native
open-uriin the NetFetcher. This permits users to specify http, https, or ftp URLs. - Include hidden files and folders when calculating a directory digest.
- Use the relative path of a file when calculating a directory digest.
- 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.
- Use an Ruby implmentation that behaves like rsync for PathFetcher objects. This removes the implicit dependency on rsync/rubocopy on build systems.
- Add support for Ubuntu 14.04 in the build lab
- Centralize the algorithm for determining the packager for the current system.
- Enhance the
Utilmodule to include FileSystem methods likecreate_directory. - Always build packages in a temporary, staging directory and then copy the generated asset(s) back into
Config.package_dir. - Add sanity checking around package name generation (e.g. removing specical characters) and issue a warning when package names might contain invalid characters.
- Rewrite AIX BFF packager from scratch.
- Rewrite Debian/Ubuntu DEB packager from scratch using
dpkg-deb. - Rewrite Other Makeself packager from scratch using more in-memory operations (instead of filesystem).
- Rewrite Windows MSI packager from scratch and use more flexible default XML templates.
- Support installing an MSI package into more than one directory deep (e.g. C:\Program Files\Chef Software\Chef).
- Rewrite OS X PKG packager from scratch with templates instead of heredocs for XML/PLists.
- Rewrite RedHat/CentOS RPM packager from scratch to use custom spec files and
rpmbuild. - Rewrite Solaris Solaris packager. This packager is still in need of a major overhaul.
- Allow DSL authors to specify a URL may be downloaded using
:unsaferedirects from HTTPS -> HTTP. - Added a real functional test suite that runs on Travis CI for the Build DSL
- Improved test coverage by 280%.
- Treat all files as binary. This solves a number of strange encoding issues you may have been experiencing.
- Prevent Ruby from automatically ungzipping responses.
- Added
Config.workerskey for specifying the maximum number of parallel events to take place. - Added parallel downloads for fetcher objects.
- Use
fakerootfor building DEBs and RPMs. - Raspberry Pi platform support (Raspian, Pidora).
- Retry uploads to Artifactory on publish failures.
- 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 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.
- Move vendored
makeselfandmakeself-headerscript frombin/toresources/folder. Having themakeselfscript insidebin/would causemakeselfto be bundled with the gem and added to$PATH. If you were previously relying on Omnibus addingmakeselfto your$PATH, this will no longer happen. - Cleanroom now subclasses
Objectinstead ofOmnibus. This could have unintended side-effects if you were accessing Omnibus internals (likeConfig) inside software or project DSL methods. You must now specify the entire namespace (e.g.Omnibus::Config). - Builder filesystem DSL methods change directory into
Software#project_dirbefore executing. - Builder filesystem DSL methods now accept paths or globs.
- Packagers attempt to ignore SCM-based files during packaging.
- Move internal cleanroom implementation into a cleanroom standalone-gem. If you were relying or invoking
Omnibus::Cleanroom, please see the gem documentation. Omnibus.process_configurationhas 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.- Remove
Config.fetchandConfig[:key]. You should useConfig.thinginstead. - 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 raiseMissingConfigOption, in project, Omnibus would raiseMissingProjectConfigurationand in software, Omnibus would raiseMissingSoftwareConfiguration. All these error classes have been removed and standardized onMissingRequiredAttribute. - Remove many unused error classes.
- 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.
- Raise
NotImplementedError(Ruby core) instead ofAbstractMethodorAbstractFunction(Omnibus) errors when a method should be overridden by the child class. - 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. - Raise a
ChecksumMismatchexception when a provided md5 does not match the downloaded one. - When extracting tar archives, prefer gtar over tar when gtar is present.
- Move
Omnibus::Packager::MetadatatoOmnibus::Metadataand improve documentation - Change the airty of
Omnibus::Metadata.generateto accept [1] the path to the package on disk and [2] the project which created the package. - 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!
- Remove all uses of forwardable delegation.
- Cache the loading of projects
- Cache the loading of software
- When accessing DSL methods for the first time, do not persist the default value onto the instance variable.
- Bump the required version of Chef Sugar to
~> 2.2to pick up newsmartos?andomnios?matchers. - 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.
- Renamed
Package::MacPkgtoPackager::PKG - Renamed
Package::MacDmgtoCompressor::DMG - Truncate SLES and other RedHat derivatives platform version.
- Refactor logger objects to separate Omnibus internal debugging info with build/compile/configure debugging info.
- Improve error and debugging output when an exception is raised while shelling out. Failed shell commands will now raise
Omnibus::CommandFailedandOmnibus::CommandTimeoutinstead of theMixlib::ShellOutexceptions. If you were previously rescuing the Mixlib exceptions, you should switch to the new ones. - XL C is now the default compiler on AIX
- Clang is now the default compiler on FreeBSD 10+
- Make compilation default
-static-libgccon Solaris - Only allow installation on system volume for Mac OS X PKGs.
- Previously deprecated methods have been removed.
Config#package_tmpis no longer used.Dir.mktmpdiris used to generate an operating-system agnostic temporary directory for packagers to operate in.Config#build_dmgis no longer used. If you wish to build a dmg, you must specify acompressorblock with the:dmgoption.Config#dmg_window_boundsis no longer used. If you wish to specify dmg window bounds, you must specify acompressorblock with the:dmgoption and specify thewindow_boundsattribute.Config#dmg_pkg_positionis no longer used. If you wish to specify dmg package positioning, you must specify acompressorblock with the:dmgoption and specify thepkg_positionattribute.Config#sign_pkgis no longer used. If you specify a signing identity, it is assumed you want to sign the package.Config#signing_identityis no longer used. If you wish to specify package signing identity, you must specify apackageblock with the:pkgoption and specify thesigning_identityattribute.Config#sign_rpmis no longer used. If you specify an rpm signing passphrase, it is assumed you want to sign the package.Config#rpm_signing_passphraseis no longer used. If you wish to specify package signing identity, you must specify apackageblock with the:rpmoption and specify thesigning_passphraseattribute.Project#msi_parametershas been removed. If you wish to specify msi parameters, you must specify apackageblock with the:msioption and specify theparametersattribute.Project#msi_parameters[:upgrade_code]is no longer used! You must specify anupgrade_codein apackageblock with the:msioption.- Remove all instances of
NullBuilder. If you were previously invoking aNullBuilder, simply omit abuildblock. - Remove packager
validatepre-step - Remove packager
cleanuppost-step - Changed the method arity of
Software#initialize- this method no longer accepts a list of overrides. Builder#max_build_jobshas been renamed toBuilder#workers.
Config#package_tmpprints a deprecation. There is no replacement for this method.Config#build_dmgprints a deprecation. You should specify acompressorblock with the:dmgoption instead.Config#dmg_window_boundsprints a deprecation. You should specify thewindow_boundsinsidecompressor :dmginstead.Config#dmg_pkg_positionprints a deprecation. You should specify thepkg_positioninsidecompressor :dmginstead.Config#sign_pkgprints a deprecation. If you specify a signing identity, it is assumed you want to sign the package.Config#signing_identityprints a deprecation. You should specify thesigning_identityinsidepackage :pkginstead.Config#sign_rpmprints a deprecation. If you specify an rpm signing passphrase, it is assumed you want to sign the package.Config#rpm_signing_passphraseprints a deprecation. You should specify thesigning_passphraseinsidepackage :rpminstead.- Warn the user when invoking the
commandmethod in abuildblock that should be replaced with a top-level DSL method (likecommand "rm -rf thing.rb"should be replaced withdelete "thing.rb").
- 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. - The generator does not render ERB files for assets - instead, it just generates the raw ERB files for your modification.
- Improve the comments in teh generated project Gemfile
- Put "development" gems in a
:developmentgroup in the generated project Gemfile for easy exclusion withbundle install --without development. - Update generated
<project>.rbfile to use new APIs - Generate a "real" software example (zlib) that showcases many of the new APIs for learning.
- Always generate an
omnibus.rbconfiguration file with "secret" values specified usingENV. - Remove outdated and
-example.rbsoftware definitions.
- Removed
Project#msi_parameters. Please use the packager-specific DSLparametersmethod instead. - Removed
Project#msi_parameters[:upgrade_code]. You must specify theupgrade_codepackager-specific DSL method instead. - Removed
Project#package_name. This value is now calculated by Omnibus and you cannot tune it. - Removed
Project#install_path. Please useProject#install_dirinstead. - Removed
Project#files_path. Please useProject#resources_pathinstead. - Added
Project#resources_path. Previously called "files", any Omnibus assets, images, or files are now referred to as "resources". The default value isresources/PROJECT_NAME. - Removed
Project#replaces. Please useProject#replaceand specify a single package. You can specifyPackage#replacemultiple times in the same project. - Added
Project#replacefor specifying which existing package this project replaces. - Added
Project#default_rootthat uses/opton Unix andC:/on Windows for easy cross-platform path-setting. - Added
Project#packagefor 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. - Added
Project#compressfor 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. - Changed
Project#package_userto default torootwhen no value is given. - Changed
Project#package_groupto default toOhai['root_group']and thenrootwhen no value is given. - Removed
Project#platform_version. Useohaiinstead. - Removed
Project#platform_family. Useohaiinstead. - Removed
Project#platform. Useohaiinstead. - Removed
Project#machine. Useohaiinstead. - Removed
Project#dependencies. List each dependency usingdependencyinstead. - Added
Project#ohaifor quick access to Ohai data.
- Removed
Software#override_version. There is no replacement. - Removed
Software#install_dir. Please useSoftware#install_pathinstead. - Removed
Software#platform_version. Useohaiinstead. - Removed
Software#platform_family. Useohaiinstead. - Removed
Software#platform. Useohaiinstead. - Removed
Software#architecture. Useohaiinstead or Chef Sugar instead. - Added
Software#ohaifor quick access to Ohai data. - Changed
Software#downloaded_filetoSoftware#project_file. - Removed
Software#source_dir. You can useOmnibus::Config.source_dirinstead, but if you need access to this method, it is probably a bug in Omnibus. - Removed
Software#cache_dir. You can useOmnibus::Config.cache_dirinstead, but if you need access to this method, it is probably a bug in Omnibus. - Removed
Software#config. You can useOmnibus::Configinstead.
- Added
Builder#makefor choosing the correctmakebinary on the system. Whengmakeis present, it is preferred. The use of this method also sets theMAKEenvironment variable for consistency. You should change all instances ofcommand "make ..."tomake "..."to ensure true cross-platform building. - Added
Builder#windows_safe_pathfor shelling out to the system with the correct path separators. - Added
Buidler#workersfor delegation to the config option. - Removed
Buidler#max_build_jobsin favor ofBuilder#workers. - Add an
Builder#appbundlefunction to the builder DSL
- Added
Packager::DEB#vendorfor specifying the package vendor. - Added
Packager::DEB#licensefor specifying the package license. - Added
Packager::DEB#priorityfor specifying the package priority. - Added
Packager::DEB#sectionfor specifying the package section. - Added
Packager::MSI#upgrade_codefor specifying an upgrade code. You must specify this attribute to make MSI packages. - Added
Packager::MSI#parametersfor specifying arbitrary parameters to be read into the Wix XML. - Added
Packager::MSI#wix_light_extensionfor activating arbitrary Wix light extentions. - Added
Packager::MSI#wix_candle_extensionfor activating arbitrary Wix candle extentions. - Added
Packager::PKG#identiferfor specifying the identifier of the the Mac OS X PKG. This value is still interpreted if one is not given. Note: theConfig.mac_pkg_identifieris no longer honored. - Added
Packager::PKG#signing_passphrasefor specifying the signing passphrase. If this value is given, it is assumed you want to sign the package. Note: theConfig.sign_rpmandConfig.rpm_signing_passphraseis no longer honored. - Added
Packager::RPM#vendorfor specifying the package vendor. - Added
Packager::RPM#licensefor specifying the package license. - Added
Packager::RPM#priorityfor specifying the package priority. - Added
Packager::RPM#categoryfor specifying the package category.
- Drastically improve test coverage around packagers.
- Improved documentation for Building on OSX.
- Improved documentation for Building on Windows.
- Improved documentation for Building on RHEL.
- Improved documentation for the
BuilderDSL. - Standardized license headers.
- Added SSH forwarding as part of the default generated
.kitchen.yml. - Updated Chef version in generated
.kitchen.yml. - Switch to OpenSSL::Digest which is threadsafe on 2.1.2
- Ensure final
*.dmgname matches actual*.pkgname. - Replace dashes (
-) with tildes (~) in DEB and RPM versions
- Add support for overriding publish platform/version
- Expose platform/version override options on
omnibus publish - Expose the
syncmethod in the builder DSL and fix the broken tests
- Make build commands output during
log.infoinstead oflog.debug - Refactor Chef Sugar into an includable module, permitting DSL methods in both Software and Project definitions
- Refactor
omnibus releaseinto a non-S3-specific backend "publisher" - Add support for specifying a dir glob to the
publishcommand to upload multiple packages - "Package" is now a public API
- Generate a real omnibus configuration file (no more
omnibus.rb.example) - Add a releaser for Artifactory
- Add additional information to package metdata (such as shasums)
- Remove uses of Omnibus.config and use the Config object directly
- Add the ability to define multiple
software_gemsin the config - Add the ability to define
local_software_pathsin the config - Add the ability to disable git caching in the config
- Omnibus.load_configuration now requires a file path
- Add new API for loading a project -
Project.load - Add new API for loading a software -
Software.load - Add publish APIs for dirtying the git cache
- Add test coverage for the "public" API
- Add validation to
sourcein software DSL - Add logging to the Packager class
- Add functional tests for builders
- Update generator templates to use the new APIs
- Upgrade to Ohai 7.2
- Improve YARDoc
- Remove deprecated
Omnibus.configuremethod - Deprecate
Omnibus.config.valuein favor ofConfig.valueinstead - Deprecate
Omnibus.project_rootin favor ofConfig.project_root - Deprecate [DSL]
platformin favor ofOhai['platform'] - Deprecate [DSL]
platform_familyin favor ofOhai['platform_family'] - Deprecate [DSL]
platform_versionin favor ofOhai['platform_version'] - Deprecate [DSL]
build_dirin favor ofConfig.build_dir - Deprecate [DSL]
cache_dirin favor ofConfig.cache_dir - Deprecate [DSL]
source_dirin favor ofConfig.source_dir - Deprecate [DSL]
configin favor ofConfig(capitalized) - Deprecate
Ohai.valuein favor ofOhai['value'] - Deprecate
Project#install_pathin favor ofProject.install_dir - Deprecate [DSL]
install_pathin favor ofinstall_dir - Rename
Config.install_path_cache_dirtogit_cache_dir - Fix a bug in the deprecations where a hardcoded output was used instead of a dynamic variable
- Add
with_embedded_pathto software - Add
with_standard_compiler_flagsto software - Add
package_scripts_pathto project - Add builder DSL methods for
mkdir,touch,delete,copy,move,link, andsync
- Fix a small typo in the project generator (come -> some)
- Update sample software definition for libpng to 1.5.18
- Improved logging output
- Include Chef Sugar in both software and project DSLs
- Documentation updates and typographical fixes
- Change the generated omnibus.rb to use a default homepage that includes the protocol
- Ensure that software fetched via the PathFetcher are cached correctly
- 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.
- Always print backtraces when errors occur
- Do not sent ldd/otool to the same file - first steps in allowing parallel builds
- Only rescue
Omnibus::Errorwhen invoked through the CLI - this will allow other bugs to actually raise at the Ruby level - Refactor the algorithm for git caching to take into account overrides and missing versions
- Remove nested git directories before incremental caching occurs
- Intelligently parse the project's homepage because Ruby's native URI implementation is buggy
- 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
- Use the fetcher's
version_for_cachemethod directly, falling back to0.0.0(and a warining) if no version is given - Require
net/http,net/https, andnet/ftpin the base fetcher module - Use -R, not -W1 on FreeBSD's compile flags
- Expand all paths relative to the project_root
- Unset all Ruby, Bundler, amd Gem-related environment variables before shelling out
- Various documentation fixes and updates
- Merged
PackageandArtifactinto the same class and updated API - this was considered an internal API so it is not a violation of semver - Use a common class for Omnibus exceptions - if you were rescuing Omnibus::Error, you might be rescuing all exceptions now
- 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.
- Remove mixlib-config - if you were relying on mixlib-config as a transitive dependency, it is no longer available
- 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
- Move project loading from INFO to DEBUG
- Truncate platforms to short versions
- 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_pathmethod in the Builder DSL that will convert a string to a "Windows-safe path". This is only needed when shelling out to the system.
- Update project generators to use new APIs. The old project generators created a project that issued deprecation warnings!
- Stream build output to the debug logger. Specifying
--log-level debugnow includes all the build output as if you had run the command manually. - Deprecate the
OMNIBUS_APPEND_TIMESTAMPenvironment variable in favor of the command line flag. This is only a deprecation, but theOMNIBUS_APPEND_TIMESTAMPwill be removed in the next major release. - Fix a bug in
windows_safe_pathto always return a string - Add a
Config.base_dirconfiguration value for easy tuning - Remove the use of
Omnibus.rootinBuildVersion#initializer. This removes the many deprecation warnings that print on each software load. - Output the current command in debug output when shelling out
- Output the current environment in debug output when shelling out
- Change the information that is displayed at different log levels with respect to shelling out. In
warnmode, Omnibus will only display warnings/deprecations; you will not see any build commands or output. Ininfomode, Omnibus will display the commands and environment that are being used; you will not see the output from the build (unless it fails). Indebugmode, Omnibus will display the commands, environment, and output (livestream) from commands.
friendly_nameis added to project DSL to be able to configure the name on packagers.resources_pathis added to project DSL to be able to specify project specific resource files for packagers.- Add the ability to "sign" OSX packages
- Allow packagers to have project-specific resources
- MSI packager for windows
- Added helpers for generating platform-specific paths
- New build_version DSL
- All new CLI that uses LazyLoading and a much nicer interface (BC-compat)
- Create a real logger object - Omnibus now supports --log-level
- Warn when incorrectly using
replacesin a project
- Fix Windows bugs in the new git caching feature
- Use the git sha in the git caching so that the software matches "master"
- Force the detaching of all disks before building an OSX DMG
- Remove references to now non-existent Vagrantfile
- Fix an issue where softwares that are both top-level and transitive dependencies were built in the wrong order (see #140 for more information)
- Use
sourcewhen creating software uris and checksums - Fix invalid cache operations by ensuring the bucket exists
- Add tag output git describe to include lightweight tags
- Remove explicit instance_eval from line 0
- Remove libz and libgcc_s from the health check whitelist
- Add CoreServices to OSX whitelist for healthcheck
- Bump the version of the generated Gemfile to Berkshelf ~> 3.0
- Add test coverage for overridding software source
- Improved test coverage for Omnibus project/software loading
- Refactor and updated Thor
- Add cucumber/aruba for testing the CLI
- Lazy load Ohai and Mixlib::Config default values
- Consistent deprecation warnings
- Updated README badges
-
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.
- Project-level software dependencies are built last.
- it is assumed that project-level software dependencies are most frequently changed, and thus Omnibus optimize for such a case.
- If you have software definitions that hard code
always_build, you will probably want to turn that off now. - Blank directories are not cached. If you would like a blank directory to be cached, add a
.gitkeepfile to the folder. - The build order is compiled in a different way, which might result in a different ordered-installation than previous versions of omnibus.
- For an example of you you might need to update your project, please see chef/omnibus-software@02d06a
-
Support for building DMGs (OSX Disk Images)
-
Update generator to create assets for pkg/dmg resources
-
There's a fancy new logo
-
Added Chef Sugar integration
-
Improved documentation
-
Improved test coverage
- Project generators now include apt/yum as development cookbooks
- Added libc++.1.dylib as a whitelist healthcheck
- Added libgcc_s.so,1 as a whitelist healthcheck on Solaris
- Fix a bug where
extra_package_fileswould break FPM
- Fix the name of the
pkgartifact created on OSX - Fix new Rubocop warnings
- Update generated
Gemfileto use Omnibus 2.0 - Switch to using Test Kitchen for generated build labs
Major changes:
versionis nowdefault_version- Added support for multiple software versions and version overrides
- Added support for project-specific overrides
- Added Mac .pkg packaging functionality (DMG coming soon)
- Require Mixlib::Config 2.0
Minor changes:
- Added a new CI pipeline on Travis
- Switch to Ruby 1.9 hash syntaxes
Tiny changes that probably won't affect you:
.yardoptsare no longer committed.rspecis no longer committed- Updated copyrights to new company name
- Improved test coverage
- Miscellaneous bug fixes
FEATURES:
- Add
build_retriesglobal config value (still 3 by default). (@fujin, #63) - Add support for pre-install scripts. (@christophermaier)
- Add support for
*.tar.xzfiles. (@jf647, #71) - Add
erbbuilder command. (@ohlol, #79) - Add
package_user,package_groupto project definitions for setting user and group ownership for of deb/rpm/solaris packages. (@ohlol, #80) - Add
config_fileto project definitions for passing--config-filesoptions to thefpmbuilder commands. (@christophergeers, #85)
IMPROVEMENTS:
- Bump default cpus to get better throughput when Ohai is wrong. (@lamont-granquist)
- Whitelist
libnslon Arch Linux. (@sl4mmy, #67) - Switch to using pkgmk for Solaris. (@lamont-granquist, #72)
- Remove make install from c-example. (@johntdyer, #73)
- Update Vagrantfile template to use provisionerless base boxes. (@schisamo, #74)
- Allow access to
Omnibus.project_rootin builder blocks. (@ohlol, #78) - Refactor how we handle loading dirs for software files. (@benjaminws, #82)
- Update depdencies: (@schisamo, #86)
- fpm 1.0.0
- mixlib-config 2.1.0
- mixlib-shellout 1.3.0
BUG FIXES:
- Properly handle
HTTP_PROXY_USERandHTTP_PROXY_PASS. (@databus23, #77) - Fix the incorrect error message logged when the Git fetcher failed to resolve refs to commits. (@mumoshu, #81)
- Removin unsupported
config.ssh.max_triesandconfig.ssh.timeoutfrom Vagrantfile template. (@totally, #83) - Mention the required Vagrant plugins. (@jacobvosmaer, #70)
FEATURES:
- Add
whitelist_fileto software DSL. This allows an individual software definition to declare files that should be ignored during health checking.
IMPROVEMENTS:
- Raise an exception if a project's dependency is not found.
BUG FIXES:
- Properly load a project's transitive dependencies.
- Ensure a component is only added to a library one time.
BUG FIXES:
- Raise an exception if a patch file is not found.
- Be more explicit about types in CPU computation.
- Include pkg version, iteration, arch for solaris packages.
- Fix assorted typos in CLI output.
FEATURES:
- AIX health check whitelist support
- AIX Backup-File Format (BFF) package support
IMPROVEMENTS:
- Add libstdc++ to SmartOS whitelist libs - this allows the health check pass when depending on C++ libs.
BUG FIXES:
- [CHEF-4246] - omnibus cache populate failing
FEATURES:
- Add
release packagecommand which releases a single package with associated metadata file to a single S3 bucket. - Arch Linux health check whitelist support
IMPROVEMENTS:
- Add libstdc++ to Mac whitelist libs - this allows the health check pass when depending on C++ libs.
- Change scope of
Omnibus::Libraryinstance from global to project.
BUG FIXES:
- [CHEF-4214] - projects in multi-project omnibus repositories share dependency scope
FEATURES:
- [CHEF-2576] - SmartOS health check whitelist support
- [CHEF-4141] - FreeBSD health check whitelist support
- [CHEF-3990] - Add support to uncompress zip file
BUG FIXES:
- Fix project homepage in gemspec
- Proper Thor 0.16.0, 0.17.0 suppport - Thor 0.18.0 renamed current_task to current_command
IMPROVEMENTS:
- Travis CI support
BUG FIXES:
- [CHEF-4112]
omnibus build projectcommand does not respect the--no-timestampflag
BUG FIXES:
- Vagrant and Berkshelf Vagrant plugin version updates in generated project's
README.md. Current requirements for the virtualized build lab are:
- Vagrant 1.2.1+
vagrant-berkshelfplugin (this was renamed fromberkshelf-vagrant)
- The initial release.