From 00d5b9849cc6308a175e34aa741425ae17943773 Mon Sep 17 00:00:00 2001 From: Cory Fields Date: Mon, 22 Sep 2014 20:06:31 -0400 Subject: [PATCH] cache: require the enable_cache key to be set to true in order to use cache functionality --- bin/gbuild | 56 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 24 deletions(-) diff --git a/bin/gbuild b/bin/gbuild index bae7083..0e9ca58 100755 --- a/bin/gbuild +++ b/bin/gbuild @@ -80,12 +80,14 @@ def build_one_configuration(suite, arch, build_desc, reference_datetime) system! "copy-to-target #{@quiet_flag} inputs/#{filename} build/" end - if File.directory?("cache/#{build_desc["name"]}") - system! "copy-to-target #{@quiet_flag} cache/#{build_desc["name"]}/ cache/" - end + if build_desc["enable_cache"] + if File.directory?("cache/#{build_desc["name"]}") + system! "copy-to-target #{@quiet_flag} cache/#{build_desc["name"]}/ cache/" + end - if File.directory?("cache/common") - system! "copy-to-target #{@quiet_flag} cache/common/ cache/" + if File.directory?("cache/common") + system! "copy-to-target #{@quiet_flag} cache/common/ cache/" + end end info "Updating apt-get repository (log in var/install.log)" @@ -173,6 +175,7 @@ in_sums = [] build_dir = 'build' result_dir = 'result' cache_dir = 'cache' +enable_cache = build_desc["enable_cache"] FileUtils.rm_rf(build_dir) FileUtils.mkdir(build_dir) @@ -181,8 +184,10 @@ FileUtils.mkdir_p(result_dir) package_name = build_desc["name"] or raise "must supply name" package_name = sanitize(package_name, "package name") -FileUtils.mkdir_p(File.join(cache_dir, "common")) -FileUtils.mkdir_p(File.join(cache_dir, package_name)) +if enable_cache + FileUtils.mkdir_p(File.join(cache_dir, "common")) + FileUtils.mkdir_p(File.join(cache_dir, package_name)) +end suites = build_desc["suites"] or raise "must supply suites" archs = build_desc["architectures"] or raise "must supply architectures" @@ -249,10 +254,11 @@ suites.each do |suite| info "Grabbing results" system! "copy-from-target #{@quiet_flag} out #{build_dir}" - info "Grabbing cache" - system! "copy-from-target #{@quiet_flag} cache/#{package_name}/ #{cache_dir}" - system! "copy-from-target #{@quiet_flag} cache/common/ #{cache_dir}" - + if enable_cache + info "Grabbing cache" + system! "copy-from-target #{@quiet_flag} cache/#{package_name}/ #{cache_dir}" + system! "copy-from-target #{@quiet_flag} cache/common/ #{cache_dir}" + end base_manifest = File.read("var/base-#{suite}-#{arch}.manifest") base_manifests["#{suite}-#{arch}"] = base_manifest end @@ -275,20 +281,22 @@ Dir.glob(File.join(out_dir, '**', '*'), File::FNM_DOTMATCH).sort.each do |file_i puts out_sums[file] unless @options[:quiet] end -Dir.glob(File.join(cache_common_dir, '**', '*'), File::FNM_DOTMATCH).sort.each do |file_in_out| - next if File.directory?(file_in_out) - file = file_in_out.sub(cache_common_dir + File::SEPARATOR, '') - file = sanitize_path(file, file_in_out) - cache_common_sums[file] = `cd #{cache_common_dir} && sha256sum #{file}` - raise "failed to sum #{file}" unless $? == 0 -end +if enable_cache + Dir.glob(File.join(cache_common_dir, '**', '*'), File::FNM_DOTMATCH).sort.each do |file_in_out| + next if File.directory?(file_in_out) + file = file_in_out.sub(cache_common_dir + File::SEPARATOR, '') + file = sanitize_path(file, file_in_out) + cache_common_sums[file] = `cd #{cache_common_dir} && sha256sum #{file}` + raise "failed to sum #{file}" unless $? == 0 + end -Dir.glob(File.join(cache_package_dir, '**', '*'), File::FNM_DOTMATCH).sort.each do |file_in_out| - next if File.directory?(file_in_out) - file = file_in_out.sub(cache_package_dir + File::SEPARATOR, '') - file = sanitize_path(file, file_in_out) - cache_package_sums[file] = `cd #{cache_package_dir} && sha256sum #{file}` - raise "failed to sum #{file}" unless $? == 0 + Dir.glob(File.join(cache_package_dir, '**', '*'), File::FNM_DOTMATCH).sort.each do |file_in_out| + next if File.directory?(file_in_out) + file = file_in_out.sub(cache_package_dir + File::SEPARATOR, '') + file = sanitize_path(file, file_in_out) + cache_package_sums[file] = `cd #{cache_package_dir} && sha256sum #{file}` + raise "failed to sum #{file}" unless $? == 0 + end end out_manifest = out_sums.keys.sort.map { |key| out_sums[key] }.join('')