ext/packaging/tasks/pe_sles.rake in puppet-2.7.20 vs ext/packaging/tasks/pe_sles.rake in puppet-2.7.21
- old
+ new
@@ -2,28 +2,28 @@
# take a tarball and stage it in a temp dir with appropriate
# directories/files set up for building an rpm.
# return the directory
-if @build_pe
+if @build.build_pe
def prep_sles_dir
temp = get_temp
- check_file("pkg/#{@name}-#{@version}.tar.gz")
+ check_file("pkg/#{@build.project}-#{@build.version}.tar.gz")
mkdir_pr temp, "#{temp}/SOURCES", "#{temp}/SPECS"
- if @sign_tar
+ if @build.sign_tar
Rake::Task["pl:sign_tar"].invoke
- cp_p "pkg/#{@name}-#{@version}.tar.gz.asc", "#{temp}/SOURCES"
+ cp_p "pkg/#{@build.project}-#{@build.version}.tar.gz.asc", "#{temp}/SOURCES"
end
- cp_p "pkg/#{@name}-#{@version}.tar.gz", "#{temp}/SOURCES"
- erb "ext/redhat/#{@name}.spec.erb", "#{temp}/SPECS/#{@name}.spec"
+ cp_p "pkg/#{@build.project}-#{@build.version}.tar.gz", "#{temp}/SOURCES"
+ erb "ext/redhat/#{@build.project}.spec.erb", "#{temp}/SPECS/#{@build.project}.spec"
temp
end
namespace :pe do
# Temporary task to pull down pe dependencies until this is NFS-mounted
- task :retrieve_sles_deps => 'pl:load_extras' do
- rsync_from("#{@sles_repo_path}/#{@pe_version}/repos/sles-*", @sles_repo_host, "#{ENV['HOME']}/package_repos/")
+ task :retrieve_sles_deps => 'pl:fetch' do
+ rsync_from("#{@build.sles_repo_path}/#{@build.pe_version}/repos/sles-*", @build.sles_repo_host, "#{ENV['HOME']}/package_repos/")
FileList["#{ENV['HOME']}/package_repos/*"].each do |f|
update_rpm_repo(f) if File.directory?(f)
end
cd "#{ENV['HOME']}/package_repos" do
unless File.symlink?('sles-11-i586')
@@ -33,62 +33,66 @@
File.symlink('sles-11-i386', 'sles-11-i586')
end
end
end
- # pl:setup_el_dirs is defined in mock.rake
desc "Build a sles rpm from this repo"
- task :local_sles => ['package:tar', 'pl:setup_el_dirs', 'pl:fetch', 'pl:load_extras', 'pe:retrieve_sles_deps'] do
+ task :local_sles => ['package:tar', 'pl:fetch', 'pe:retrieve_sles_deps'] do
check_tool('build')
check_tool('linux32')
check_tool('linux64')
build_root = get_temp
work_dir = prep_sles_dir
build_source_dir = "#{work_dir}/SOURCES"
build_spec_dir = "#{work_dir}/SPECS"
- build_spec = "#{build_spec_dir}/#{@name}.spec"
+ build_spec = "#{build_spec_dir}/#{@build.project}.spec"
build_dest_dir = "usr/src/packages"
noarch = FALSE
- build_dep_dir = @sles_build_deps_dir
- build_os_dep_dir = @sles_build_iso_dir
built_arch = ''
- @sles_arch_repos.each do |arch, deps_repo|
+ @build.sles_arch_repos.each do |arch, deps_repo|
if noarch == FALSE
- linux_cmd = arch == 'i586' ? 'linux32' : 'linux64'
- sh "yes | sudo #{linux_cmd} build \
- --rpms #{deps_repo}:#{ENV['HOME']}/package_repos/sles-11-#{arch} \
- --root #{build_root}/#{arch} \
- --rsync-src #{build_source_dir} \
- --rsync-dest /usr/src/packages/SOURCES \
- --no-checks #{build_spec} \
- --arch #{arch} || true"
- rpms = FileList["#{build_root}/#{arch}/#{build_dest_dir}/RPMS/**/*.rpm"]
- srpms = FileList["#{build_root}/#{arch}/#{build_dest_dir}/SRPMS/**/*.rpm"]
- if rpms.empty?
- STDERR.puts "No RPMS were built. Perhaps an error occurred?"
- exit 1
+ bench = Benchmark.realtime do
+ linux_cmd = arch == 'i586' ? 'linux32' : 'linux64'
+ sh "yes | sudo #{linux_cmd} build \
+ --rpms #{deps_repo}:#{ENV['HOME']}/package_repos/sles-11-#{arch} \
+ --root #{build_root}/#{arch} \
+ --rsync-src #{build_source_dir} \
+ --rsync-dest /usr/src/packages/SOURCES \
+ --no-checks #{build_spec} \
+ --arch #{arch} || true"
+ rpms = FileList["#{build_root}/#{arch}/#{build_dest_dir}/RPMS/**/*.rpm"]
+ srpms = FileList["#{build_root}/#{arch}/#{build_dest_dir}/SRPMS/**/*.rpm"]
+ if rpms.empty?
+ STDERR.puts "No RPMS were built. Perhaps an error occurred?"
+ exit 1
+ end
+ built_arch = arch
+ %x{mkdir -p pkg/pe/rpm/sles-11-{srpms,#{arch}}}
+ cp(rpms, "pkg/pe/rpm/sles-11-#{arch}")
+ cp(srpms, "pkg/pe/rpm/sles-11-srpms")
+ noarch = rpms.exclude(/noarch/).empty?
+ rm_rf build_root
+ rm_rf work_dir
end
- built_arch = arch
- cp rpms, "pkg/pe/rpm/sles-11-#{arch}"
- cp srpms, "pkg/pe/rpm/sles-11-srpms"
- noarch = rpms.exclude(/noarch/).empty?
- rm_rf build_root
- rm_rf work_dir
+ # See 30_metrics.rake to see what this is doing
+ add_metrics({ :dist => 'sles', :bench => bench }) if @build.benchmark
else
- arches_to_copy_to = @sles_arch_repos.keys - [ built_arch ]
+ arches_to_copy_to = @build.sles_arch_repos.keys - [ built_arch ]
arches_to_copy_to.each do |other_arch|
- cp FileList["pkg/pe/rpm/sles-11-#{built_arch}/*"], "pkg/pe/rpm/sles-11-#{other_arch}"
+ %x{mkdir -p pkg/pe/rpm/sles-11-#{other_arch}}
+ cp(FileList["pkg/pe/rpm/sles-11-#{built_arch}/*"], "pkg/pe/rpm/sles-11-#{other_arch}")
end
end
end
+ post_metrics if @build.benchmark
cd 'pkg/pe/rpm' do
if File.exist?('sles-11-i586')
mkdir_p 'sles-11-i386'
cp FileList["sles-11-i586/*"], 'sles-11-i386'
rm_rf 'sles-11-i586'
end
end
- if @team == 'release'
+ if @build.team == 'release'
Rake::Task["pe:sign_rpms"].invoke
end
end
end
end