Commit 08d9592
2021-03-09 05:14:40
Changed files (19)
bin
config
projects
software
resources
bin/omnibus
@@ -0,0 +1,29 @@
+#!/usr/bin/env ruby
+# frozen_string_literal: true
+
+#
+# This file was generated by Bundler.
+#
+# The application 'omnibus' is installed as part of a gem, and
+# this file is here to facilitate running it.
+#
+
+require "pathname"
+ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
+ Pathname.new(__FILE__).realpath)
+
+bundle_binstub = File.expand_path("../bundle", __FILE__)
+
+if File.file?(bundle_binstub)
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
+ load(bundle_binstub)
+ else
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
+Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
+ end
+end
+
+require "rubygems"
+require "bundler/setup"
+
+load Gem.bin_path("omnibus", "omnibus")
config/projects/spandx.rb
@@ -0,0 +1,25 @@
+#
+# Copyright 2021 YOUR NAME
+#
+# All Rights Reserved.
+#
+
+name "spandx"
+maintainer "CHANGE ME"
+homepage "https://CHANGE-ME.com"
+
+# Defaults to C:/spandx on Windows
+# and /opt/spandx on all other platforms
+install_dir "#{default_root}/#{name}"
+
+build_version Omnibus::BuildVersion.semver
+build_iteration 1
+
+# Creates required build directories
+dependency "preparation"
+
+# spandx dependencies/components
+# dependency "somedep"
+
+exclude "**/.git"
+exclude "**/bundler/git"
config/software/preparation.rb
@@ -0,0 +1,30 @@
+#
+# Copyright 2021 YOUR NAME
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name "preparation"
+description "the steps required to prepare the build"
+default_version "1.0.0"
+
+license :project_license
+skip_transitive_dependency_licensing true
+
+build do
+ block do
+ touch "#{install_dir}/embedded/lib/.gitkeep"
+ touch "#{install_dir}/embedded/bin/.gitkeep"
+ touch "#{install_dir}/bin/.gitkeep"
+ end
+end
config/software/spandx-zlib.rb
@@ -0,0 +1,55 @@
+#
+# Copyright 2021 YOUR NAME
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# These options are required for all software definitions
+name "spandx-zlib"
+default_version "1.2.6"
+
+# A software can specify more than one version that is available for install
+version("1.2.6") { source md5: "618e944d7c7cd6521551e30b32322f4a" }
+version("1.2.8") { source md5: "44d667c142d7cda120332623eab69f40" }
+
+# Sources may be URLs, git locations, or path locations
+source url: "http://downloads.sourceforge.net/project/libpng/zlib/#{version}/zlib-#{version}.tar.gz"
+
+# This is the path, inside the tarball, where the source resides
+relative_path "zlib-#{version}"
+
+build do
+ # Setup a default environment from Omnibus - you should use this Omnibus
+ # helper everywhere. It will become the default in the future.
+ env = with_standard_compiler_flags(with_embedded_path)
+
+ # Manipulate any configure flags you wish:
+ # For some reason zlib needs this flag on solaris
+ env["CFLAGS"] << " -DNO_VIZ" if solaris?
+
+ # "command" is part of the build DSL. There are a number of handy options
+ # available, such as "copy", "sync", "ruby", etc. For a complete list, please
+ # consult the Omnibus gem documentation.
+ #
+ # "install_dir" is exposed and refers to the top-level projects +install_dir+
+ command "./configure" \
+ " --prefix=#{install_dir}/embedded", env: env
+
+ # You can have multiple steps - they are executed in the order in which they
+ # are read.
+ #
+ # "workers" is a DSL method that returns the most suitable number of
+ # builders for the currently running system.
+ command "make -j #{workers}", env: env
+ command "make -j #{workers} install", env: env
+end
package-scripts/spandx/postinst
@@ -0,0 +1,17 @@
+#!/bin/sh
+#
+# Perform necessary spandx setup steps
+# after package is installed.
+#
+
+PROGNAME=`basename $0`
+
+error_exit()
+{
+ echo "${PROGNAME}: ${1:-"Unknown Error"}" 1>&2
+ exit 1
+}
+
+echo "Thank you for installing spandx!"
+
+exit 0
package-scripts/spandx/postrm
@@ -0,0 +1,9 @@
+#!/bin/sh
+#
+# Perform necessary spandx removal steps
+# after package is uninstalled.
+#
+
+echo "spandx has been uninstalled!"
+
+exit 0
package-scripts/spandx/preinst
@@ -0,0 +1,7 @@
+#!/bin/sh
+#
+# Perform necessary spandx setup steps
+# before package is installed.
+#
+
+echo "You're about to install spandx!"
package-scripts/spandx/prerm
@@ -0,0 +1,15 @@
+#!/bin/sh
+#
+# Perform necessary spandx setup steps
+# prior to installing package.
+#
+
+PROGNAME=`basename $0`
+
+error_exit()
+{
+ echo "${PROGNAME}: ${1:-"Unknown Error"}" 1>&2
+ exit 1
+}
+
+exit 0
resources/spandx/pkg/background.png
Binary file
resources/spandx/pkg/distribution.xml.erb
@@ -0,0 +1,22 @@
+<?xml version="1.0" standalone="no"?>
+<installer-gui-script minSpecVersion="1">
+ <title><%= friendly_name %></title>
+ <background file="background.png" alignment="bottomleft" mime-type="image/png"/>
+ <welcome file="welcome.html" mime-type="text/html"/>
+ <license file="license.html" mime-type="text/html"/>
+
+ <!-- Generated by productbuild - - synthesize -->
+ <pkg-ref id="<%= identifier %>"/>
+ <options customize="never" require-scripts="false"/>
+ <choices-outline>
+ <line choice="default">
+ <line choice="<%= identifier %>"/>
+ </line>
+ </choices-outline>
+ <choice id="default"/>
+ <choice id="<%= identifier %>" visible="false">
+ <pkg-ref id="<%= identifier %>"/>
+ </choice>
+ <pkg-ref id="<%= identifier %>" version="<%= version %>" onConclusion="none"><%= component_pkg %></pkg-ref>
+ <domains enable_anywhere="false" enable_currentUserHome="false" enable_localSystem="true" />
+</installer-gui-script>
resources/spandx/pkg/license.html.erb
@@ -0,0 +1,3 @@
+All Rights Reserved
+
+This is a generic Omnibus license file for <%= friendly_name %>. If you are building Mac OS X packages, you should generate a custom license file and description to suit your needs.
resources/spandx/pkg/welcome.html.erb
@@ -0,0 +1,7 @@
+This will install <%= friendly_name %> on your Mac.
+
+--------------------------------------------------
+
+This is a generic Omnibus welcome message. If you are building Mac OS X packages, you should generate a custom welcome file to suit your needs.
+
+If you are not the creator of <%= friendly_name %>, the presence of this message is likely a bug and should be reported to the creator.
.gitignore
@@ -0,0 +1,10 @@
+*.gem
+.bundle
+.kitchen/
+.kitchen.local.yml
+vendor/bundle
+pkg/*
+.vagrant
+bin/*
+files/**/cache/
+vendor/cookbooks
.kitchen.yml
@@ -0,0 +1,41 @@
+driver:
+ name: vagrant
+ forward_agent: yes
+ customize:
+ cpus: 2
+ memory: 2048
+ synced_folders:
+ - ['.', '/home/vagrant/spandx']
+
+provisioner:
+ name: chef_zero
+
+platforms:
+ - name: centos-6
+ run_list: yum-epel::default
+ - name: centos-7
+ run_list: yum-epel::default
+ - name: debian-8
+ run_list: apt::default
+ - name: debian-9
+ run_list: apt::default
+ - name: freebsd-10
+ run_list: freebsd::portsnap
+ - name: freebsd-11
+ run_list: freebsd::portsnap
+ - name: ubuntu-14.04
+ run_list: apt::default
+ - name: ubuntu-16.04
+ run_list: apt::default
+ - name: ubuntu-18.04
+ run_list: apt::default
+
+suites:
+ - name: default
+ run_list: omnibus::default
+ attributes:
+ omnibus:
+ build_user: vagrant
+ build_user_group: vagrant
+ build_user_password: vagrant
+ install_dir: /opt/spandx
Berksfile
@@ -0,0 +1,12 @@
+source 'https://supermarket.chef.io'
+
+cookbook 'omnibus'
+
+# Uncomment to use the latest version of the Omnibus cookbook from GitHub
+# cookbook 'omnibus', github: 'chef-cookbooks/omnibus'
+
+group :integration do
+ cookbook 'apt', '~> 2.8'
+ cookbook 'freebsd', '~> 0.3'
+ cookbook 'yum-epel', '~> 0.6'
+end
Gemfile
@@ -0,0 +1,21 @@
+source 'https://rubygems.org'
+
+# Install omnibus
+gem 'omnibus', '~> 8.0'
+
+# Use Chef's software definitions. It is recommended that you write your own
+# software definitions, but you can clone/fork Chef's to get you started.
+# gem 'omnibus-software', github: 'chef/omnibus-software'
+
+# This development group is installed by default when you run `bundle install`,
+# but if you are using Omnibus in a CI-based infrastructure, you do not need
+# the Test Kitchen-based build lab. You can skip these unnecessary dependencies
+# by running `bundle install --without development` to speed up build times.
+group :development do
+ # Use Berkshelf for resolving cookbook dependencies
+ gem 'berkshelf'
+
+ # Use Test Kitchen with Vagrant for converging the build environment
+ gem 'test-kitchen'
+ gem 'kitchen-vagrant'
+end
Gemfile.lock
@@ -0,0 +1,361 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ addressable (2.7.0)
+ public_suffix (>= 2.0.2, < 5.0)
+ awesome_print (1.9.2)
+ aws-eventstream (1.1.1)
+ aws-partitions (1.431.1)
+ aws-sdk-core (3.112.1)
+ aws-eventstream (~> 1, >= 1.0.2)
+ aws-partitions (~> 1, >= 1.239.0)
+ aws-sigv4 (~> 1.1)
+ jmespath (~> 1.0)
+ aws-sdk-kms (1.42.0)
+ aws-sdk-core (~> 3, >= 3.112.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-s3 (1.90.0)
+ aws-sdk-core (~> 3, >= 3.112.0)
+ aws-sdk-kms (~> 1)
+ aws-sigv4 (~> 1.1)
+ aws-sigv4 (1.2.3)
+ aws-eventstream (~> 1, >= 1.0.2)
+ bcrypt_pbkdf (1.1.0.rc2)
+ berkshelf (7.2.0)
+ chef (>= 15.7.32)
+ chef-config
+ cleanroom (~> 1.0)
+ concurrent-ruby (~> 1.0)
+ minitar (>= 0.6)
+ mixlib-archive (>= 1.1.4, < 2.0)
+ mixlib-config (>= 2.2.5)
+ mixlib-shellout (>= 2.0, < 4.0)
+ octokit (~> 4.0)
+ retryable (>= 2.0, < 4.0)
+ solve (~> 4.0)
+ thor (>= 0.20)
+ builder (3.2.4)
+ chef (16.10.17)
+ addressable
+ bcrypt_pbkdf (= 1.1.0.rc2)
+ bundler (>= 1.10)
+ chef-config (= 16.10.17)
+ chef-utils (= 16.10.17)
+ chef-vault
+ chef-zero (>= 14.0.11)
+ diff-lcs (>= 1.2.4, < 1.4.0)
+ ed25519 (~> 1.2)
+ erubis (~> 2.7)
+ ffi (>= 1.9.25)
+ ffi-libarchive (~> 1.0, >= 1.0.3)
+ ffi-yajl (~> 2.2)
+ highline (>= 1.6.9, < 3)
+ iniparse (~> 1.4)
+ inspec-core (~> 4.23)
+ license-acceptance (>= 1.0.5, < 3)
+ mixlib-archive (>= 0.4, < 2.0)
+ mixlib-authentication (>= 2.1, < 4)
+ mixlib-cli (>= 2.1.1, < 3.0)
+ mixlib-log (>= 2.0.3, < 4.0)
+ mixlib-shellout (>= 3.1.1, < 4.0)
+ net-sftp (>= 2.1.2, < 4.0)
+ net-ssh (>= 5.1, < 7)
+ net-ssh-multi (~> 1.2, >= 1.2.1)
+ ohai (~> 16.0)
+ pastel
+ plist (~> 3.2)
+ proxifier (~> 1.0)
+ syslog-logger (~> 1.6)
+ train-core (~> 3.2, >= 3.2.28)
+ train-winrm (>= 0.2.5)
+ tty-prompt (~> 0.21)
+ tty-screen (~> 0.6)
+ tty-table (~> 0.11)
+ uuidtools (>= 2.1.5, < 3.0)
+ chef-cleanroom (1.0.2)
+ chef-config (16.10.17)
+ addressable
+ chef-utils (= 16.10.17)
+ fuzzyurl
+ mixlib-config (>= 2.2.12, < 4.0)
+ mixlib-shellout (>= 2.0, < 4.0)
+ tomlrb (~> 1.2)
+ chef-telemetry (1.0.29)
+ chef-config
+ concurrent-ruby (~> 1.0)
+ chef-utils (16.10.17)
+ chef-vault (4.1.0)
+ chef-zero (15.0.4)
+ ffi-yajl (~> 2.2)
+ hashie (>= 2.0, < 5.0)
+ mixlib-log (>= 2.0, < 4.0)
+ rack (~> 2.0, >= 2.0.6)
+ uuidtools (~> 2.1)
+ webrick
+ citrus (3.0.2)
+ cleanroom (1.0.0)
+ coderay (1.1.3)
+ concurrent-ruby (1.1.8)
+ diff-lcs (1.3)
+ ed25519 (1.2.4)
+ erubi (1.10.0)
+ erubis (2.7.0)
+ faraday (1.3.0)
+ faraday-net_http (~> 1.0)
+ multipart-post (>= 1.2, < 3)
+ ruby2_keywords
+ faraday-net_http (1.0.1)
+ faraday_middleware (1.0.0)
+ faraday (~> 1.0)
+ ffi (1.15.0)
+ ffi-libarchive (1.0.17)
+ ffi (~> 1.0)
+ ffi-yajl (2.3.4)
+ libyajl2 (~> 1.2)
+ fuzzyurl (0.9.0)
+ gssapi (1.3.1)
+ ffi (>= 1.0.1)
+ gyoku (1.3.1)
+ builder (>= 2.1.2)
+ hashie (4.1.0)
+ highline (2.0.3)
+ httpclient (2.8.3)
+ iniparse (1.5.0)
+ inspec-core (4.26.13)
+ addressable (~> 2.4)
+ chef-telemetry (~> 1.0)
+ faraday (>= 0.9.0, < 1.4)
+ faraday_middleware (~> 1.0)
+ hashie (>= 3.4, < 5.0)
+ license-acceptance (>= 0.2.13, < 3.0)
+ method_source (>= 0.8, < 2.0)
+ mixlib-log (~> 3.0)
+ multipart-post (~> 2.0)
+ parallel (~> 1.9)
+ parslet (>= 1.5, < 2.0)
+ pry (~> 0.13)
+ rspec (>= 3.9, < 3.11)
+ rspec-its (~> 1.2)
+ rubyzip (>= 1.2.2, < 3.0)
+ semverse (~> 3.0)
+ sslshake (~> 1.2)
+ thor (>= 0.20, < 2.0)
+ tomlrb (>= 1.2, < 2.1)
+ train-core (~> 3.0)
+ tty-prompt (~> 0.17)
+ tty-table (~> 0.10)
+ iostruct (0.0.4)
+ ipaddress (0.8.3)
+ jmespath (1.4.0)
+ json (2.5.1)
+ kitchen-vagrant (1.8.0)
+ test-kitchen (>= 1.4, < 3)
+ libyajl2 (1.2.0)
+ license-acceptance (2.1.13)
+ pastel (~> 0.7)
+ tomlrb (>= 1.2, < 3.0)
+ tty-box (~> 0.6)
+ tty-prompt (~> 0.20)
+ license_scout (1.2.9)
+ ffi-yajl (~> 2.2)
+ mixlib-shellout (>= 2.2, < 4.0)
+ toml-rb (>= 1, < 3)
+ little-plugger (1.1.4)
+ logging (2.3.0)
+ little-plugger (~> 1.1)
+ multi_json (~> 1.14)
+ method_source (1.0.0)
+ minitar (0.9)
+ mixlib-archive (1.1.7)
+ mixlib-log
+ mixlib-authentication (3.0.7)
+ mixlib-cli (2.1.8)
+ mixlib-config (3.0.9)
+ tomlrb
+ mixlib-install (3.12.7)
+ mixlib-shellout
+ mixlib-versioning
+ thor
+ mixlib-log (3.0.9)
+ mixlib-shellout (3.2.5)
+ chef-utils
+ mixlib-versioning (1.2.12)
+ molinillo (0.7.0)
+ multi_json (1.15.0)
+ multipart-post (2.1.1)
+ net-scp (3.0.0)
+ net-ssh (>= 2.6.5, < 7.0.0)
+ net-sftp (3.0.0)
+ net-ssh (>= 5.0.0, < 7.0.0)
+ net-ssh (6.1.0)
+ net-ssh-gateway (2.0.0)
+ net-ssh (>= 4.0.0)
+ net-ssh-multi (1.2.1)
+ net-ssh (>= 2.6.5)
+ net-ssh-gateway (>= 1.2.0)
+ nori (2.6.0)
+ octokit (4.20.0)
+ faraday (>= 0.9)
+ sawyer (~> 0.8.0, >= 0.5.3)
+ ohai (16.10.6)
+ chef-config (>= 12.8, < 17)
+ chef-utils (>= 16.0, < 17)
+ ffi (~> 1.9)
+ ffi-yajl (~> 2.2)
+ ipaddress
+ mixlib-cli (>= 1.7.0)
+ mixlib-config (>= 2.0, < 4.0)
+ mixlib-log (>= 2.0.1, < 4.0)
+ mixlib-shellout (>= 2.0, < 4.0)
+ plist (~> 3.1)
+ train-core
+ wmi-lite (~> 1.0)
+ omnibus (8.0.15)
+ aws-sdk-s3 (~> 1)
+ chef-cleanroom (~> 1.0)
+ chef-utils (>= 15.4)
+ ffi-yajl (~> 2.2)
+ license_scout (~> 1.0)
+ mixlib-shellout (>= 2.0, < 4.0)
+ mixlib-versioning
+ ohai (>= 15)
+ pedump
+ ruby-progressbar (~> 1.7)
+ thor (>= 0.18, < 2.0)
+ parallel (1.20.1)
+ parslet (1.8.2)
+ pastel (0.8.0)
+ tty-color (~> 0.5)
+ pedump (0.6.2)
+ awesome_print
+ iostruct (>= 0.0.4)
+ multipart-post (>= 2.0.0)
+ rainbow
+ zhexdump (>= 0.0.2)
+ plist (3.6.0)
+ proxifier (1.0.3)
+ pry (0.14.0)
+ coderay (~> 1.1)
+ method_source (~> 1.0)
+ public_suffix (4.0.6)
+ rack (2.2.3)
+ rainbow (3.0.0)
+ retryable (3.0.5)
+ rspec (3.10.0)
+ rspec-core (~> 3.10.0)
+ rspec-expectations (~> 3.10.0)
+ rspec-mocks (~> 3.10.0)
+ rspec-core (3.10.1)
+ rspec-support (~> 3.10.0)
+ rspec-expectations (3.10.1)
+ diff-lcs (>= 1.2.0, < 2.0)
+ rspec-support (~> 3.10.0)
+ rspec-its (1.3.0)
+ rspec-core (>= 3.0.0)
+ rspec-expectations (>= 3.0.0)
+ rspec-mocks (3.10.2)
+ diff-lcs (>= 1.2.0, < 2.0)
+ rspec-support (~> 3.10.0)
+ rspec-support (3.10.2)
+ ruby-progressbar (1.11.0)
+ ruby2_keywords (0.0.4)
+ rubyntlm (0.6.3)
+ rubyzip (2.3.0)
+ sawyer (0.8.2)
+ addressable (>= 2.3.5)
+ faraday (> 0.8, < 2.0)
+ semverse (3.0.0)
+ solve (4.0.4)
+ molinillo (~> 0.6)
+ semverse (>= 1.1, < 4.0)
+ sslshake (1.3.1)
+ strings (0.2.0)
+ strings-ansi (~> 0.2)
+ unicode-display_width (~> 1.5)
+ unicode_utils (~> 1.4)
+ strings-ansi (0.2.0)
+ syslog-logger (1.6.8)
+ test-kitchen (2.11.1)
+ bcrypt_pbkdf (~> 1.0)
+ chef-utils (>= 16.4.35)
+ ed25519 (~> 1.2)
+ license-acceptance (>= 1.0.11, < 3.0)
+ mixlib-install (~> 3.6)
+ mixlib-shellout (>= 1.2, < 4.0)
+ net-scp (>= 1.1, < 4.0)
+ net-ssh (>= 2.9, < 7.0)
+ net-ssh-gateway (>= 1.2, < 3.0)
+ thor (>= 0.19, < 2.0)
+ winrm (~> 2.0)
+ winrm-elevated (~> 1.0)
+ winrm-fs (~> 1.1)
+ thor (1.1.0)
+ toml-rb (2.0.1)
+ citrus (~> 3.0, > 3.0)
+ tomlrb (1.3.0)
+ train-core (3.5.2)
+ addressable (~> 2.5)
+ ffi (!= 1.13.0)
+ json (>= 1.8, < 3.0)
+ mixlib-shellout (>= 2.0, < 4.0)
+ net-scp (>= 1.2, < 4.0)
+ net-ssh (>= 2.9, < 7.0)
+ train-winrm (0.2.12)
+ winrm (>= 2.3.6, < 3.0)
+ winrm-elevated (~> 1.2.2)
+ winrm-fs (~> 1.0)
+ tty-box (0.7.0)
+ pastel (~> 0.8)
+ strings (~> 0.2.0)
+ tty-cursor (~> 0.7)
+ tty-color (0.6.0)
+ tty-cursor (0.7.1)
+ tty-prompt (0.23.0)
+ pastel (~> 0.8)
+ tty-reader (~> 0.8)
+ tty-reader (0.9.0)
+ tty-cursor (~> 0.7)
+ tty-screen (~> 0.8)
+ wisper (~> 2.0)
+ tty-screen (0.8.1)
+ tty-table (0.12.0)
+ pastel (~> 0.8)
+ strings (~> 0.2.0)
+ tty-screen (~> 0.8)
+ unicode-display_width (1.7.0)
+ unicode_utils (1.4.0)
+ uuidtools (2.2.0)
+ webrick (1.7.0)
+ winrm (2.3.6)
+ builder (>= 2.1.2)
+ erubi (~> 1.8)
+ gssapi (~> 1.2)
+ gyoku (~> 1.0)
+ httpclient (~> 2.2, >= 2.2.0.2)
+ logging (>= 1.6.1, < 3.0)
+ nori (~> 2.0)
+ rubyntlm (~> 0.6.0, >= 0.6.3)
+ winrm-elevated (1.2.3)
+ erubi (~> 1.8)
+ winrm (~> 2.0)
+ winrm-fs (~> 1.0)
+ winrm-fs (1.3.5)
+ erubi (~> 1.8)
+ logging (>= 1.6.1, < 3.0)
+ rubyzip (~> 2.0)
+ winrm (~> 2.0)
+ wisper (2.0.1)
+ wmi-lite (1.0.5)
+ zhexdump (0.0.2)
+
+PLATFORMS
+ x86_64-darwin-19
+
+DEPENDENCIES
+ berkshelf
+ kitchen-vagrant
+ omnibus (~> 8.0)
+ test-kitchen
+
+BUNDLED WITH
+ 2.2.11
omnibus.rb
@@ -0,0 +1,55 @@
+#
+# This file is used to configure the spandx project. It contains
+# some minimal configuration examples for working with Omnibus. For a full list
+# of configurable options, please see the documentation for +omnibus/config.rb+.
+#
+
+# Build internally
+# ------------------------------
+# By default, Omnibus uses system folders (like +/var+ and +/opt+) to build and
+# cache components. If you would to build everything internally, you can
+# uncomment the following options. This will prevent the need for root
+# permissions in most cases.
+#
+# Uncomment this line to change the default base directory to "local"
+# -------------------------------------------------------------------
+# base_dir './local'
+#
+# Alternatively you can tune the individual values
+# ------------------------------------------------
+# cache_dir './local/omnibus/cache'
+# git_cache_dir './local/omnibus/cache/git_cache'
+# source_dir './local/omnibus/src'
+# build_dir './local/omnibus/build'
+# package_dir './local/omnibus/pkg'
+# package_tmp './local/omnibus/pkg-tmp'
+
+# Disable git caching
+# ------------------------------
+# use_git_caching false
+
+# Enable S3 asset caching
+# ------------------------------
+# use_s3_caching true
+# s3_access_key ENV['AWS_ACCESS_KEY_ID']
+# s3_secret_key ENV['AWS_SECRET_ACCESS_KEY']
+# s3_profile ENV['AWS_S3_PROFILE']
+# s3_iam_role_arn ENV['S3_IAM_ROLE_ARN']
+# s3_bucket ENV['AWS_S3_BUCKET']
+
+# Customize compiler bits
+# ------------------------------
+# solaris_compiler 'gcc'
+# build_retries 5
+# fetcher_read_timeout 120
+# fetcher_retries 5
+
+# Load additional software
+# ------------------------------
+# software_gems ['omnibus-software', 'my-company-software']
+# local_software_dirs ['/path/to/local/software']
+
+# Windows architecture defaults
+# ------------------------------
+windows_arch %w{x86 x64}.include?((ENV['OMNIBUS_WINDOWS_ARCH'] || '').downcase) ?
+ ENV['OMNIBUS_WINDOWS_ARCH'].downcase.to_sym : :x86
README.md
@@ -0,0 +1,124 @@
+spandx Omnibus project
+======================
+This project creates full-stack platform-specific packages for
+`spandx`!
+
+Installation
+------------
+You must have a sane Ruby 2.0.0+ environment with Bundler installed. Ensure all
+the required gems are installed:
+
+```shell
+$ bundle install --binstubs
+```
+
+Usage
+-----
+### Build
+
+You create a platform-specific package using the `build project` command:
+
+```shell
+$ bin/omnibus build spandx
+```
+
+The platform/architecture type of the package created will match the platform
+where the `build project` command is invoked. For example, running this command
+on a MacBook Pro will generate a Mac OS X package. After the build completes
+packages will be available in the `pkg/` folder.
+
+### Clean
+
+You can clean up all temporary files generated during the build process with
+the `clean` command:
+
+```shell
+$ bin/omnibus clean spandx
+```
+
+Adding the `--purge` purge option removes __ALL__ files generated during the
+build including the project install directory (`/opt/spandx`) and
+the package cache directory (`/var/cache/omnibus/pkg`):
+
+```shell
+$ bin/omnibus clean spandx --purge
+```
+
+### Publish
+
+Omnibus has a built-in mechanism for releasing to a variety of "backends", such
+as Amazon S3. You must set the proper credentials in your
+[`omnibus.rb`](omnibus.rb) config file or specify them via the command line.
+
+```shell
+$ bin/omnibus publish path/to/*.deb --backend s3
+```
+
+### Help
+
+Full help for the Omnibus command line interface can be accessed with the
+`help` command:
+
+```shell
+$ bin/omnibus help
+```
+
+Version Manifest
+----------------
+
+Git-based software definitions may specify branches as their
+default_version. In this case, the exact git revision to use will be
+determined at build-time unless a project override (see below) or
+external version manifest is used. To generate a version manifest use
+the `omnibus manifest` command:
+
+```
+omnibus manifest PROJECT -l warn
+```
+
+This will output a JSON-formatted manifest containing the resolved
+version of every software definition.
+
+
+Kitchen-based Build Environment
+-------------------------------
+Every Omnibus project ships with a project-specific
+[Berksfile](https://docs.chef.io/berkshelf.html) that will allow you to build
+your omnibus projects on all of the platforms listed in the
+[`.kitchen.yml`](.kitchen.yml). You can add/remove additional platforms as
+needed by changing the list found in the [`.kitchen.yml`](.kitchen.yml)
+`platforms` YAML stanza.
+
+This build environment is designed to get you up-and-running quickly. However,
+there is nothing that restricts you from building on other platforms. Simply use
+the [omnibus cookbook](https://github.com/chef-cookbooks/omnibus) to setup your
+desired platform and execute the build steps listed above.
+
+The default build environment requires Test Kitchen and VirtualBox for local
+development. Test Kitchen also exposes the ability to provision instances using
+various cloud providers like AWS, DigitalOcean, or OpenStack. For more
+information, please see the [Test Kitchen documentation](https://kitchen.ci/).
+
+Once you have tweaked your [`.kitchen.yml`](.kitchen.yml) (or
+[`.kitchen.local.yml`](.kitchen.local.yml)) to your liking, you can bring up an
+individual build environment using the `kitchen` command.
+
+
+```shell
+$ bin/kitchen converge ubuntu-1804
+```
+
+Then login to the instance and build the project as described in the Usage
+section:
+
+```shell
+$ bin/kitchen login ubuntu-1804
+[vagrant@ubuntu...] $ . load-omnibus-toolchain.sh
+[vagrant@ubuntu...] $ [ -e .bundle ] && sudo chown -R vagrant:vagrant .bundle
+[vagrant@ubuntu...] $ cd spandx # or 'cd spandx/omnibus' if your omnibus project is embedded in your main project
+[vagrant@ubuntu...] $ bundle install
+[vagrant@ubuntu...] $ bin/omnibus build spandx
+```
+
+For a complete list of all commands and platforms, run `kitchen list` or
+`kitchen help`.