Commit Graph

7593 Commits

Author SHA1 Message Date
Artur Satayev
ac87c5e13a Merge "Introduce ro.build.version.known_codenames sysprop." 2022-02-14 12:08:04 +00:00
Kelvin Zhang
21118bba67 Improve error message for GetMinSdkVersion
Bug: 219148978
Test: th
Change-Id: I72c653b6e7e159abf0b7aca394cf465869542483
2022-02-12 09:41:18 -08:00
Treehugger Robot
5796849ac8 Merge "Support multiple library names per target." 2022-02-11 22:17:17 +00:00
Devin Moore
b5195ff5fe Get build.prop for init_boot.img from the ramdisk props
boot.img and init_boot.img get their build properties from the platform
ramdisk properties.

Test: "m dist" then drop the OTA zip file into
android.github.io/analyseOTA to verify init_boot is present.
Bug: 211823573

Change-Id: I411e62bf0fc3cb49d4b12dadb52d9820fca041fa
2022-02-11 18:44:26 +00:00
satayev
2d94586cff Introduce ro.build.version.known_codenames sysprop.
It defines values for Build.VERSION.KNOWN_CODENAMES constant, and should
contain all codenames starting from Q, including current codename
for in development branches.

Bug: 211747008
Test: presubmit
Change-Id: If8995750e369ba39bfc7041580c21b2f96632a78
2022-02-11 13:20:49 +00:00
Treehugger Robot
ea586a8d71 Merge "Fix signing failure when no entry to convert to store" 2022-02-10 12:53:00 +00:00
Bob Badour
1848cef686 Merge "Greater-than zero is more idiomatic." 2022-02-10 09:51:29 +00:00
Kelvin Zhang
b69bcdec29 Merge "Support relative key path in VerifiedBootVersion2VerityImageBuilder" 2022-02-10 04:42:35 +00:00
Kelvin Zhang
70876143b5 Fix signing failure when no entry to convert to store
zip -d doesn't work when no entry names specified. So if the list of
entry is empty, just skip calling zip -d.

Bug: 218438888

Test: th
Change-Id: Ie4419b9d6fdc2780255c6f12f9f4d35e5c0a7b26
2022-02-09 16:07:29 -08:00
Bob Badour
e9b38c175a Greater-than zero is more idiomatic.
Test: m all
Change-Id: I6000d937b98c84226a347b69c69b333a15beb355
2022-02-09 15:56:59 -08:00
Bob Badour
5028abccb5 Support multiple library names per target.
The prior interface to make supported only a single package name per
target; although, a target might have multiple licenses each with its
own package name.

Bug: 151177513
Bug: 210912771

Test: m all dist
Test: flash; About Phone -> Legal Information -> Third-party licenses
Change-Id: I5cf1964ec18af91ec7e258a1c6722527e3596cf3
2022-02-09 11:56:58 -08:00
Oleksiy Avramchenko
166d819fe4 Support relative key path in VerifiedBootVersion2VerityImageBuilder
Otatools archive can be unpacked to an arbitrary directory together
with bundled external/avb/test/data keys. Calling add_img_to_target_files
from a different directory fails to build an image which has
avb_{}_key_path pointing to the bundled key since add_hash_footer
can't find the key file.

Fix this by applying the same logic as in common.AppendAVBSigningArgs.

Steps to reproduce:
$ . build/envsetup.sh && lunch aosp_cf_arm64_phone-userdebug && make dist
$ cd out/dist && rm -rf otatools && unzip otatools.zip -d otatools
$ zip -d aosp_cf_arm64_phone-*target_files*.zip IMAGES/system_other.img
$ otatools/bin/add_img_to_target_files -a -v -p otatools \
    aosp_cf_arm64_phone-target_files-*.zip

Bug: 218531463
Test: manual, see "steps to reproduce" above
Change-Id: Id3f7cf2678e998ef1beda2b6741944c6455c2404
2022-02-09 19:47:18 +01:00
Iavor-Valentin Iftime
756b56125a Fix python3 errors: "TypeError: write() argument must be str, not bytes"
Bug: 186097910

Change-Id: I191c3230596026ee327c1403a6c72fbfa6fdb2d9
2022-02-09 16:02:33 +00:00
Treehugger Robot
6daac9c78d Merge "system_dlkm: add to the non AB ota" 2022-02-09 06:18:43 +00:00
Ramji Jiyani
7ecb0ec9f8 system_dlkm: add to the non AB ota
Test: TH
Bug: 200082547
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Change-Id: Ib43ff411c17a96656a677e3a437e834884a0372f
2022-02-09 02:53:07 +00:00
Bob Badour
bcb81e74fe Merge "Add support for a product name as well as title." 2022-02-09 02:06:05 +00:00
Jooyung Han
3a61599999 Merge "A custom APEX signing tool with --signing_args" 2022-02-08 11:23:24 +00:00
Kelvin Zhang
846f285d55 Update APK parser to be compatible with new signer output
Test: th
Bug: 218304082
Change-Id: If79ffdb1e4cec192ef796a39dd0ed5b38bc430e0
2022-02-07 16:38:09 -08:00
Kelvin Zhang
9d021e996b Fix small misuse of pass
The intention is to skip current iteration of for loop, so 'continue'
should be used instead of 'pass'

Test: th
Change-Id: Ic955beeaef74100981b351e2e7807c7fde538783
2022-02-07 16:38:09 -08:00
Kelvin Zhang
691f8b93c7 Merge "Store EROFS images uncompressed" 2022-02-07 20:55:51 +00:00
Jooyung Han
39259ec1a4 A custom APEX signing tool with --signing_args
apex_utils.SignApex() has `signing_args` argument which is supposed to
be passed to avbtool to set `--signing_helper` or
`--signing_helper_with_files`.

A custom APEX signing tool which relies on avbtool's signing should pass
the same arguments when signing_args is set.

This change passes signing_args verbatim to the custom APEX signing tool
via --signing_args argument.

Bug: 216971834
Test: tbd
Change-Id: I8aaec9440c4536e11e1e4a1dd4ae5f4fe32d4f23
2022-02-07 15:56:53 +09:00
Bob Badour
49dd4f75ff Add support for a product name as well as title.
Bug: 68860345
Bug: 151177513
Bug: 151953481
Bug: 213388645
Bug: 210912771

Test: m all
Test: m systemlicense
Test: m htmlnotice; out/soong/host/linux-x85/htmlnotice ...
Test: m textnotice; out/soong/host/linux-x85/textnotice ...
Test: m xmlnotice; out/soong/host/linux-x85/xmlnotice ...

where ... is the path to the .meta_lic file for the system image. In my
case if

$ export PRODUCT=$(realpath $ANDROID_PRODUCT_OUT --relative-to=$PWD)

... can be expressed as:

${PRODUCT}/gen/META/lic_intermediates/${PRODUCT}/system.img.meta_lic

Change-Id: Id5b2ebe3752081e3a89bba1d717cf103f7846043
2022-02-04 14:50:59 -08:00
Bob Badour
339edb60d2 Merge "Regularize command-line flags." 2022-02-03 03:29:20 +00:00
Kelvin Zhang
3b72e28421 Merge "Add zhangkelvin@ as owner for release tools scripts" 2022-02-03 03:05:34 +00:00
Bob Badour
682e1bae57 Regularize command-line flags.
All the notice binaries have -title

All the binaries that can -stripPrefix can strip multiple.

Bug: 68860345
Bug: 151177513
Bug: 151953481
Bug: 213388645
Bug: 210912771

Test: m all
Test: m systemlicense
Test: m bom; out/soong/host/linux-x85/bom ...
Test: m dumpgraph; out/soong/host/linux-x85/dumpgraph ...
Test: m dumpresolutions; out/soong/host/linux-x85/dumpresolutions ...
Test: m htmlnotice; out/soong/host/linux-x85/htmlnotice ...
Test: m rtrace; out/soong/host/linux-x85/rtrace ...
Test: m textnotice; out/soong/host/linux-x85/textnotice ...
Test: m xmlnotice; out/soong/host/linux-x85/xmlnotice ...

where ... is the path to the .meta_lic file for the system image. In my
case if

$ export PRODUCT=$(realpath $ANDROID_PRODUCT_OUT --relative-to=$PWD)

... can be expressed as:

${PRODUCT}/gen/META/lic_intermediates/${PRODUCT}/system.img.meta_lic

Change-Id: I08357bf1adb048abba6563cf3cea6ee6d60405e0
2022-02-02 15:32:50 -08:00
Bob Badour
f87922450e license metadata xml notice files
Introduce the below command-line tool:

xmlnotice outputs a NOTICE.xml file constructed from the license
texts of the transitive closure of dependencies.

Bug: 68860345
Bug: 151177513
Bug: 151953481
Bug: 213388645
Bug: 210912771

Test: m all
Test: m systemlicense
Test: m xmlnotice; out/soong/host/linux-x85/xmlnotice ...

where ... is the path to the .meta_lic file for the system image. In my
case if

$ export PRODUCT=$(realpath $ANDROID_PRODUCT_OUT --relative-to=$PWD)

... can be expressed as:

${PRODUCT}/gen/META/lic_intermediates/${PRODUCT}/system.img.meta_lic

Change-Id: I267effd3a1c1b981bcdc5e058dce561a2d4a7948
2022-02-02 15:32:50 -08:00
Kelvin Zhang
834f5d458f Store EROFS images uncompressed
Test: th
Change-Id: I53005bee139079afe25da231ca1d42f03fa010a5
2022-02-02 12:52:34 -08:00
Kelvin Zhang
4f8f972a5b Add zhangkelvin@ as owner for release tools scripts
Change-Id: Ic861bc11d6a7d80c0d22a05ce35998753bb60752
2022-02-02 12:52:34 -08:00
Treehugger Robot
ef25de413e Merge "core & tools: system_dlkm: add dynamic partition" 2022-02-02 06:04:07 +00:00
Bob Badour
608bdff0a7 Add support for gzipping html output.
Bug: 68860345
Bug: 151177513
Bug: 151953481
Bug: 213388645
Bug: 210912771

Test: m all
Test: m systemlicense
Test: m htmlnotice; out/soong/host/linux-x85/htmlnotice ...

where ... is -o=html.gz followed by the path to the .meta_lic file for
the system image. In my case if

$ export PRODUCT=$(realpath $ANDROID_PRODUCT_OUT --relative-to=$PWD)

the rest of ... can be expressed as:

${PRODUCT}/gen/META/lic_intermediates/${PRODUCT}/system.img.meta_lic

Change-Id: I7a42d5186876609a401956754e3dcff64211fb15
2022-02-01 15:35:40 -08:00
Treehugger Robot
6ebf02914c Merge changes I40a05866,Id3d6e701
* changes:
  license metadata reverse trace
  Fix copy+paste error.
2022-02-01 01:25:59 +00:00
Bob Badour
c817845ea5 license metadata reverse trace
Introduce the below command-line tool:

rtrace outputs a list of targets and conditions causing one or more
projects or target nodes to require sharing to resolve a restricted
condition.

Bug: 68860345
Bug: 151177513
Bug: 151953481
Bug: 213388645
Bug: 210912771

Test: m all
Test: m systemlicense
Test: m rtrace; out/soong/host/linux-x85/rtrace -rtrace=...

where ... is a project or license metadata file followed by the path to
the .meta_lic file for the system image. In my case if

$ export PRODUCT=$(realpath $ANDROID_PRODUCT_OUT --relative-to=$PWD)

... can be expressed as:

system/core ${PRODUCT}/gen/META/lic_intermediates/${PRODUCT}/system.img.meta_lic
or
${PRODUCT}/gen/META/lic_intermediates/${PRODUCT}/system.img.meta_lic ${PRODUCT}/gen/META/lic_intermediates/${PRODUCT}/system.img.meta_lic

Change-Id: I40a0586699d9b8a8dd2bd4ba26756c9649ebf964
2022-01-31 14:16:23 -08:00
Bob Badour
91af68b1e1 Fix copy+paste error.
The tool under test is dumpresolutions not listshare.

Test: m dumpresolutions; out/soong/host/linux-x85/dumpresolutions ...

where ... is the path to the .meta_lic file for the system image. In my
case if

$ export PRODUCT=$(realpath $ANDROID_PRODUCT_OUT --relative-to=$PWD)

... can be expressed as:

${PRODUCT}/gen/META/lic_intermediates/${PRODUCT}/system.img.meta_lic

Change-Id: Id3d6e701ebd3dab03f407116d85a5e2aab8c5c59
2022-01-31 14:14:27 -08:00
Colin Cross
bb45f8c74d Track dependencies when reading notice files
Track which files are read by the notice file indexer and add a flag
to textnotice and htmlnotice to support writing them out.

Bug: 207445310
Test: textnotice_test
Test: htmlnotice_test
Change-Id: Ib74706b8a87a5ed9268a0fe37982ecf89f4e227d
2022-01-31 10:15:10 -08:00
Ramji Jiyani
13a4137929 core & tools: system_dlkm: add dynamic partition
Converts existing static partition support to a
dynamic partition.

Bug: 200082547
Test: TH
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Change-Id: Ifd6d0c2a04e947b16f8b241e99cca594a1d315ae
2022-01-30 08:43:08 +00:00
Colin Cross
e4442b7df6 Merge changes I3db6310e,I061be2b9,I7e81936d,If0684cf1,I404b138f
* changes:
  Move compliance commands into subdirectories
  Give compliance a pkgPath
  Move policy subdirectory into package directory
  Fix errors caught by go vet in compliance package
  Run gofmt on compliance
2022-01-28 21:24:26 +00:00
Bob Badour
d8724181a9 Merge changes I73975ca7,I98e2c1ee
* changes:
  license metadata bill of materials list
  license metadata shipped libraries list
2022-01-28 04:09:05 +00:00
Treehugger Robot
b816e5863d Merge "license metadata html notice files" 2022-01-28 03:59:51 +00:00
Colin Cross
d0f05c9eda Move compliance commands into subdirectories
Move each compliance command into its own directory to avoid Go tooling
considering all the files to be a single package and complaining about
conflicting global names.

Test: go test ./...
Change-Id: I3db6310e7368bcc7fe6a3704b40a84078ed44209
2022-01-27 17:14:03 -08:00
Colin Cross
38a6193180 Give compliance a pkgPath
Change the pkgPath of compliance to android/soong/tools/compliance
to distinguish it from the standard library.

Also add a go.mod file so that the Go tools can find the package.

Test: go test ./...
Change-Id: I061be2b91378db6508e9c88be2548648af8be4e7
2022-01-27 17:14:03 -08:00
Colin Cross
2c51bd1d49 Move policy subdirectory into package directory
Go's tooling expects that all files in the same package are in the
same directory.  Move the policy/*.go files to policy_*.go.

Test: go test ./...
Change-Id: I7e81936ddd20a5ffb4770ae23bdb6e411d6924cc
2022-01-27 17:14:03 -08:00
Colin Cross
179ec3e55e Fix errors caught by go vet in compliance package
`go test` implicitly runs `go vet` and fails the tests if vet
errors are found.  Fix all the issues found by vet.

Test: go test build/make/tools/compliance/...
Change-Id: If0684cf124ece4931af440008cd44a61c22de475
2022-01-27 17:14:02 -08:00
Colin Cross
35f79c37aa Run gofmt on compliance
Test: builds
Change-Id: I404b138faac0db9a92201be6163b19d9e6bff810
2022-01-27 17:14:02 -08:00
Treehugger Robot
29429f928f Merge "license metadata text notice files" 2022-01-28 00:23:47 +00:00
Treehugger Robot
766c5343e2 Merge "Add a version code and version name to fsverity manifest APK" 2022-01-27 23:48:24 +00:00
Treehugger Robot
c1edfc3b29 Merge "Fix bug where VABC xor is used on unsupported builds" 2022-01-27 22:30:57 +00:00
Colin Cross
658172d982 Add a version code and version name to fsverity manifest APK
The post-build signing step expects to find a version code in every
APK, add the version code and version name.

Bug: 216584708
Test: manual
Change-Id: Ic43730df50ef32611d5b4159b46c8bbf9906e009
2022-01-27 12:46:22 -08:00
Iavor-Valentin Iftime
b837b7170b Skip generating care_map for non-AB updates
Bug: 186097910
Test: build a non-AB update merged target using Forrest,
      No errors reported and no META/care_map.pb is generated.

Change-Id: I74990b0aa7f46d4c4d40098a4b102f7e04166c39
2022-01-27 18:35:43 +00:00
Kelvin Zhang
f175801f62 Fix bug where VABC xor is used on unsupported builds
Test: th
Bug: 216426344
Change-Id: I352136eb5f261ee1ca1567530109e7623c5f978b
2022-01-27 10:23:10 -08:00
Bob Badour
2546febca7 license metadata bill of materials list
Introduce the below command-line tool:

bom outputs a text file listing 1 installed path per line.

Bug: 68860345
Bug: 151177513
Bug: 151953481
Bug: 213388645
Bug: 210912771

Test: m all
Test: m systemlicense
Test: m bom; out/soong/host/linux-x85/bom ...

where ... is the path to the .meta_lic file for the system image. In my
case if

$ export PRODUCT=$(realpath $ANDROID_PRODUCT_OUT --relative-to=$PWD)

... can be expressed as:

${PRODUCT}/gen/META/lic_intermediates/${PRODUCT}/system.img.meta_lic

Change-Id: I73975ca7b161945a62ff83888527ce01fb47d75a
2022-01-26 20:58:24 -08:00