From d783bbbace0d7e5b7e333ffa276ff18216109cc7 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Sat, 11 Jul 2020 22:30:45 -0700 Subject: [PATCH] Use unzip -DD We put reproducible timestamps in zip files so that the artifacts are consistent, but that leads to old timestamps in the output directory if they are unzipped as part of the build. Use unzip -DD when unzipping to update the timestamps. Bug: 161015009 Test: touch -d 2020-01-01 ref; find $OUT/system -not -newer ref Change-Id: I70407a627cb070e24be510faa6a774e3d9eae3a8 --- apex/builder.go | 2 +- java/aar.go | 2 +- java/hiddenapi.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apex/builder.go b/apex/builder.go index 5fb9a5fd4..49e4642bf 100644 --- a/apex/builder.go +++ b/apex/builder.go @@ -390,7 +390,7 @@ func (a *apexBundle) buildUnflattenedApex(ctx android.ModuleContext) { } else { if fi.class == appSet { copyCommands = append(copyCommands, - fmt.Sprintf("unzip -q -d %s %s", destPathDir, fi.builtFile.String())) + fmt.Sprintf("unzip -qDD -d %s %s", destPathDir, fi.builtFile.String())) } else { copyCommands = append(copyCommands, "cp -f "+fi.builtFile.String()+" "+destPath) } diff --git a/java/aar.go b/java/aar.go index 500788f48..ad9b5e7d2 100644 --- a/java/aar.go +++ b/java/aar.go @@ -641,7 +641,7 @@ func (a *AARImport) DepsMutator(ctx android.BottomUpMutatorContext) { var unzipAAR = pctx.AndroidStaticRule("unzipAAR", blueprint.RuleParams{ Command: `rm -rf $outDir && mkdir -p $outDir && ` + - `unzip -qo -d $outDir $in && rm -rf $outDir/res && touch $out`, + `unzip -qoDD -d $outDir $in && rm -rf $outDir/res && touch $out`, }, "outDir") diff --git a/java/hiddenapi.go b/java/hiddenapi.go index 130b63496..b5a021785 100644 --- a/java/hiddenapi.go +++ b/java/hiddenapi.go @@ -146,7 +146,7 @@ func (h *hiddenAPI) hiddenAPIGenerateCSV(ctx android.ModuleContext, flagsCSV, me var hiddenAPIEncodeDexRule = pctx.AndroidStaticRule("hiddenAPIEncodeDex", blueprint.RuleParams{ Command: `rm -rf $tmpDir && mkdir -p $tmpDir && mkdir $tmpDir/dex-input && mkdir $tmpDir/dex-output && - unzip -o -q $in 'classes*.dex' -d $tmpDir/dex-input && + unzip -qoDD $in 'classes*.dex' -d $tmpDir/dex-input && for INPUT_DEX in $$(find $tmpDir/dex-input -maxdepth 1 -name 'classes*.dex' | sort); do echo "--input-dex=$${INPUT_DEX}"; echo "--output-dex=$tmpDir/dex-output/$$(basename $${INPUT_DEX})";