Add check for hidl package root hash.
When compiling a module, say foo.bar.baz@1.0::IBaz, assume the package
root is foo.bar:some/dir/interfaces, then:
- look at the file some/dir/interfaces/current.txt
- read hash from file corresponding from foo.bar.baz@1.0::IBaz
- file supports same-line comments with '#'
- format of file is each line is blank or looks like:
"<sha-256 hash> <fqName>"
- if the file is misformed or the hal does not match a sha in that file,
then it is considered build breakage.
Test: build with and without changing frozen files
Bug: 34178341
Merged-In: Ieddbc796ea974ac7c2e8b95ca69009c31e0cfb60
Change-Id: Ieddbc796ea974ac7c2e8b95ca69009c31e0cfb60
diff --git a/Coordinator.h b/Coordinator.h
index ddf5dfa..9f75d46 100644
--- a/Coordinator.h
+++ b/Coordinator.h
@@ -92,6 +92,7 @@
// Enforce a set of restrictions on a set of packages. These include:
// - minor version upgrades
// "packages" contains names like "android.hardware.nfc@1.1".
+ // - hashing restrictions
status_t enforceRestrictionsOnPackage(const FQName &fqName);
static bool MakeParentHierarchy(const std::string &path);
@@ -117,6 +118,7 @@
// Rules of enforceRestrictionsOnPackage are listed below.
status_t enforceMinorVersionUprevs(const FQName &fqName);
+ status_t enforceHashes(const FQName &fqName);
DISALLOW_COPY_AND_ASSIGN(Coordinator);
};