Skip to content

Commit bb4f92f

Browse files
author
Dev Random
committed
Merge pull request #113 from MarcoFalke/ref_datetime_default
reference_datetime: Default to git author date
2 parents e74cb91 + fa6f0b6 commit bb4f92f

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

bin/gbuild

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def info(str)
3535
puts str unless @options[:quiet]
3636
end
3737

38-
def build_one_configuration(suite, arch, build_desc, reference_datetime)
38+
def build_one_configuration(suite, arch, build_desc)
3939
FileUtils.rm_f("var/build.log")
4040

4141
bits = @bitness[arch] or raise "unknown architecture ${arch}"
@@ -119,16 +119,24 @@ def build_one_configuration(suite, arch, build_desc, reference_datetime)
119119
script.puts "GBUILD_COMMON_CACHE=$HOME/cache/common"
120120
end
121121
script.puts "MAKEOPTS=(-j#{@options[:num_procs]})"
122-
(ref_date, ref_time) = reference_datetime.split
123-
script.puts "REFERENCE_DATETIME='#{reference_datetime}'"
124-
script.puts "REFERENCE_DATE='#{ref_date}'"
125-
script.puts "REFERENCE_TIME='#{ref_time}'"
126122
script.puts
123+
author_date = nil
127124
build_desc["remotes"].each do |remote|
128125
dir = sanitize(remote["dir"], remote["dir"])
126+
127+
author_date = `cd inputs/#{dir} && git log --format=@%at -1 | date +"%F %T" -u -f -`.strip
128+
raise "error looking up author date in #{dir}" unless $?.exitstatus == 0
129+
129130
system! "copy-to-target #{@quiet_flag} inputs/#{dir} build/"
130131
script.puts "(cd build/#{dir} && git reset -q --hard && git clean -q -f -d)"
131132
end
133+
script.puts
134+
ref_datetime = build_desc["reference_datetime"] || author_date
135+
(ref_date, ref_time) = ref_datetime.split
136+
script.puts "REFERENCE_DATETIME='#{ref_datetime}'"
137+
script.puts "REFERENCE_DATE='#{ref_date}'"
138+
script.puts "REFERENCE_TIME='#{ref_time}'"
139+
script.puts
132140
script.puts "cd build"
133141
script.puts build_desc["script"]
134142
end
@@ -207,7 +215,7 @@ end
207215
distro = build_desc["distro"] || "ubuntu"
208216
suites = build_desc["suites"] or raise "must supply suites"
209217
archs = build_desc["architectures"] or raise "must supply architectures"
210-
reference_datetime = build_desc["reference_datetime"] or raise "must supply reference_datetime"
218+
build_desc["reference_datetime"] or build_desc["remotes"].size > 0 or raise "must supply `reference_datetime` or `remotes`"
211219

212220
ENV['DISTRO'] = distro
213221

@@ -267,7 +275,7 @@ suites.each do |suite|
267275
arch = sanitize(arch, "architecture")
268276

269277
# Build!
270-
build_one_configuration(suite, arch, build_desc, reference_datetime)
278+
build_one_configuration(suite, arch, build_desc)
271279

272280
info "Grabbing results from target"
273281
system! "copy-from-target #{@quiet_flag} out #{build_dir}"

0 commit comments

Comments
 (0)