Revision 6fef25e5
Added by Dominic Cleal about 8 years ago
.gitignore | ||
---|---|---|
Puppetfile.lock
|
||
modules/*
|
||
.ruby-*
|
||
Gemfile.lock
|
.travis.yml | ||
---|---|---|
sudo: false
|
||
language: ruby
|
||
addons:
|
||
apt:
|
||
packages:
|
||
- asciidoc
|
||
- libxml2-utils
|
||
- xsltproc
|
||
- docbook-xsl
|
||
- ca-certificates
|
||
rvm: 2.1.0
|
||
env:
|
||
- PUPPET_VERSION=3.5
|
||
script:
|
||
- INSTDIR=$(mktemp -d)
|
||
- bundle exec rake build install PREFIX=$INSTDIR
|
||
- bundle exec $INSTDIR/sbin/foreman-installer --help
|
Gemfile | ||
---|---|---|
source 'https://rubygems.org'
|
||
|
||
gem 'kafo', '>= 0.7.1'
|
||
gem 'librarian-puppet'
|
||
gem 'puppet', ENV.key?('PUPPET_VERSION') ? "~> #{ENV['PUPPET_VERSION']}" : '~> 3.0'
|
||
gem 'rake'
|
Rakefile | ||
---|---|---|
SYSCONFDIR = ENV['SYSCONFDIR'] || "#{PREFIX}/etc"
|
||
LOCALSTATEDIR = ENV['LOCALSTATEDIR'] || "#{PREFIX}/var"
|
||
SHAREDSTAREDIR = ENV['SHAREDSTAREDIR'] || "#{LOCALSTATEDIR}/lib"
|
||
LOGDIR = ENV['LOGDIR'] || "#{LOCALSTATEDIR}/log"
|
||
DATAROOTDIR = DATADIR = ENV['DATAROOTDIR'] || "#{PREFIX}/share"
|
||
MANDIR = ENV['MANDIR'] || "#{DATAROOTDIR}/man"
|
||
PKGDIR = ENV['PKGDIR'] || File.expand_path('pkg')
|
||
... | ... | |
cp t.prerequisites[0], t.name
|
||
sh 'sed -i "s#\(.*answer_file:\).*#\1 %s#" %s' % ["#{SYSCONFDIR}/foreman-installer/scenarios.d/foreman-answers.yaml", t.name]
|
||
sh 'sed -i "s#\(.*installer_dir:\).*#\1 %s#" %s' % ["#{DATADIR}/foreman-installer", t.name]
|
||
sh 'sed -i "s#\(.*log_dir:\).*#\1 %s#" %s' % ["#{LOGDIR}/foreman-installer", t.name]
|
||
sh 'sed -i "s#\(.*module_dirs:\).*#\1 %s#" %s' % ["#{DATADIR}/foreman-installer/modules", t.name]
|
||
if ENV['KAFO_MODULES_DIR']
|
||
sh 'sed -i "s#.*\(:kafo_modules_dir:\).*#\1 %s#" %s' % [ENV['KAFO_MODULES_DIR'], t.name]
|
||
... | ... | |
|
||
file "#{BUILDDIR}/foreman-installer" => 'bin/foreman-installer' do |t|
|
||
cp t.prerequisites[0], t.name
|
||
sh 'sed -i "s#\(^.*CONFIG_DIR = \'/etc/foreman-installer/scenarios.d\'*.\).*# CONFIG_DIR = %s#" %s' % ["'#{SYSCONFDIR}/foreman-installer/scenarios.d/'", t.name]
|
||
sh 'sed -i "s#\(^.*CONFIG_DIR = \).*#CONFIG_DIR = %s#" %s' % ["'#{SYSCONFDIR}/foreman-installer/scenarios.d/'", t.name]
|
||
end
|
||
|
||
file "#{BUILDDIR}/options.asciidoc" => "#{BUILDDIR}/modules" do |t|
|
||
... | ... | |
|
||
mkdir_p "#{MANDIR}/man8"
|
||
cp "#{BUILDDIR}/foreman-installer.8", "#{MANDIR}/man8/"
|
||
|
||
mkdir_p "#{LOGDIR}/foreman-installer"
|
||
end
|
||
|
||
task :default => :build
|
bin/foreman-installer | ||
---|---|---|
require 'rubygems'
|
||
require 'kafo'
|
||
|
||
if Dir.glob('config/*.yaml').any?
|
||
CONFIG_DIR = 'config/'
|
||
else
|
||
CONFIG_DIR = '/etc/foreman-installer/scenarios.d/'
|
||
end
|
||
CONFIG_DIR = 'config/'
|
||
|
||
# Run the install
|
||
@result = Kafo::KafoConfigure.run
|
config/foreman.yaml | ||
---|---|---|
:module_dirs: ./_build/modules
|
||
|
||
## Useful for development, e.g. when you want to move log files to local directory
|
||
:log_dir: '/var/log/foreman-installer'
|
||
:log_dir: './_build/'
|
||
:log_name: 'foreman.log'
|
||
:log_level: :debug
|
||
|
Also available in: Unified diff
Add Travis CI test to build/install
Replace LOGDIR to work within the specified PREFIX, and replace
CONFIG_DIR to prevent config files from the local directory being used
in preference to those from the installation prefix.