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
Merged-In: I70407a627cb070e24be510faa6a774e3d9eae3a8
(cherry picked from commit d783bbbace)
This commit is contained in:
Colin Cross 2020-07-11 22:30:45 -07:00
parent 7e2b36c7d5
commit 774a758026
3 changed files with 3 additions and 3 deletions

View file

@ -343,7 +343,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)
}

View file

@ -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")

View file

@ -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})";