53 lines
1.6 KiB
Ruby
53 lines
1.6 KiB
Ruby
require "erb"
|
|
|
|
file pkg("foreman-#{version}.pkg") => distribution_files do |t|
|
|
tempdir do |dir|
|
|
mkchdir("foreman") do
|
|
assemble_distribution
|
|
assemble_gems
|
|
assemble resource("pkg/foreman"), "bin/foreman", 0755
|
|
end
|
|
|
|
kbytes = %x{ du -ks foreman | cut -f 1 }
|
|
num_files = %x{ find foreman | wc -l }
|
|
|
|
mkdir_p "pkg"
|
|
mkdir_p "pkg/Resources"
|
|
mkdir_p "pkg/foreman-#{version}.pkg"
|
|
|
|
dist = File.read(resource("pkg/Distribution.erb"))
|
|
dist = ERB.new(dist).result(binding)
|
|
File.open("pkg/Distribution", "w") { |f| f.puts dist }
|
|
|
|
dist = File.read(resource("pkg/PackageInfo.erb"))
|
|
dist = ERB.new(dist).result(binding)
|
|
File.open("pkg/foreman-#{version}.pkg/PackageInfo", "w") { |f| f.puts dist }
|
|
|
|
mkdir_p "pkg/foreman-#{version}.pkg/Scripts"
|
|
cp resource("pkg/postinstall"), "pkg/foreman-#{version}.pkg/Scripts/postinstall"
|
|
chmod 0755, "pkg/foreman-#{version}.pkg/Scripts/postinstall"
|
|
|
|
sh %{ mkbom -s foreman pkg/foreman-#{version}.pkg/Bom }
|
|
|
|
Dir.chdir("foreman") do
|
|
sh %{ pax -wz -x cpio . > ../pkg/foreman-#{version}.pkg/Payload }
|
|
end
|
|
|
|
sh %{ pkgutil --flatten pkg foreman-#{version}.pkg }
|
|
|
|
cp_r "foreman-#{version}.pkg", t.name
|
|
end
|
|
end
|
|
|
|
task "pkg:build" => pkg("foreman-#{version}.pkg")
|
|
|
|
task "pkg:clean" do
|
|
clean pkg("foreman-#{version}.pkg")
|
|
end
|
|
|
|
task "pkg:release" => "pkg:build" do |t|
|
|
store pkg("foreman-#{version}.pkg"), "foreman/foreman-#{version}.pkg"
|
|
store pkg("foreman-#{version}.pkg"), "foreman/foreman-beta.pkg" if beta?
|
|
store pkg("foreman-#{version}.pkg"), "foreman/foreman.pkg" unless beta?
|
|
end
|