mirror of
https://github.com/inspec/inspec
synced 2024-11-30 08:30:39 +00:00
73d46f9c49
In #1454, we welcomed a newly-revamped JUnit formatter which has a dependency on Nokogiri. Unfortunately, this had led us to problems getting InSpec included in Chef omnibus builds (see chef/chef#5937) because Chef is using Ruby 2.4.1 and the Nokogiri maintainers have not yet released a windows binary gem that supports Ruby 2.4.x. This has led to breaking builds in Chef's CI platform and would block the acceptance of chef/chef#5937. This change replaces Nokogiri use with REXML instead. While REXML can be slower than Nokogiri, it does not require native extensions and is supported on all Chef platforms. Signed-off-by: Adam Leff <adam@leff.co>
67 lines
1.3 KiB
Bash
67 lines
1.3 KiB
Bash
pkg_name=inspec
|
|
pkg_origin=chef
|
|
pkg_version=$(cat "VERSION")
|
|
pkg_description="InSpec is an open-source testing framework for infrastructure
|
|
with a human- and machine-readable language for specifying compliance,
|
|
security and policy requirements."
|
|
pkg_upstream_url=https://github.com/chef/inspec
|
|
pkg_maintainer="The Habitat Maintainers <humans@habitat.sh>"
|
|
pkg_license=('Apache-2.0')
|
|
pkg_source=false
|
|
pkg_deps=(
|
|
core/coreutils
|
|
core/libxml2
|
|
core/libxslt
|
|
core/ruby
|
|
core/net-tools
|
|
)
|
|
pkg_build_deps=(
|
|
core/bundler
|
|
core/coreutils
|
|
core/gcc
|
|
core/make
|
|
core/readline
|
|
)
|
|
pkg_bin_dirs=(bin)
|
|
|
|
do_download() {
|
|
return 0
|
|
}
|
|
|
|
do_verify() {
|
|
return 0
|
|
}
|
|
|
|
do_unpack() {
|
|
return 0
|
|
}
|
|
|
|
do_prepare() {
|
|
# Create a Gemfile with what we need
|
|
cat > Gemfile <<GEMFILE
|
|
source 'https://rubygems.org'
|
|
gem '$pkg_name', '= $pkg_version'
|
|
gem 'rake'
|
|
GEMFILE
|
|
}
|
|
|
|
do_build() {
|
|
local _bundler_dir
|
|
local _libxml2_dir
|
|
local _libxslt_dir
|
|
|
|
_bundler_dir="$(pkg_path_for bundler)"
|
|
|
|
export GEM_HOME=${pkg_path}/vendor/bundle
|
|
export GEM_PATH=${_bundler_dir}:${GEM_HOME}
|
|
export BUNDLE_SILENCE_ROOT_WARNING=1
|
|
|
|
bundle install --jobs "$(nproc)" --retry 5 --standalone \
|
|
--path "$pkg_prefix/bundle" \
|
|
--binstubs "$pkg_prefix/bin"
|
|
}
|
|
|
|
do_install () {
|
|
fix_interpreter "$pkg_prefix/bin/*" core/coreutils bin/env
|
|
cp Gemfile.lock "$pkg_prefix"
|
|
}
|