AOSPAlliance / android-prepare-vendor

Set of scripts to automate AOSP compatible vendor blobs generation from factory images
25 stars 8 forks source link

Errors when working on flame API-29 full configuration #43

Open ConradGyllenhaal opened 3 years ago

ConradGyllenhaal commented 3 years ago

Hello there, looking at the last commits on android10 branch, I'm trying to establish the "full" configuration for flame on API-29. apv seems to work fine, but later on my AOSP build (debug eng for debugging purposes), I got an error about "overriding commands" like this:

FAILED: build/make/core/Makefile:28: error: overriding commands for target "out/target/product/flame/vendor/etc/selinux/plat_sepolicy_vers.txt", previously defined at build/make/core/base_rules.mk:480

It's doing this for this file, but also for:

Looking around in apv code, I see these files referenced in "scripts/constants.sh", to be ignored while working with "naked" config only.

I'm currently working with a "full" config so these files aren't skipped. My current "fix" is to also declare these files in the VENDOR_SKIP_FILES array, and it seems to allow the build to go further.

I wasn't encountering this problem with the API-29 "full" configuration for sargo for example.

Any idea where to look for to fix it better?

chirayudesai commented 3 years ago

I'm not sure why vendor sepolicies are being kept, maybe the OSS policies miss some roles?

You could try to just move those files to the normal VENDOR_SKIP_FILES array and drop the special naked array, and if that works we can merge it.

Edit: By works I mean boot and all the extra functionality working on the device rather than just building.

ConradGyllenhaal commented 3 years ago

For now, I copied these files in the VENDOR_SKIP_FILES, but they are still presents in VENDOR_SKIP_FILES_NAKED.

With this, and triggering a full build from scratch, it's working: building, flashing, booting. No new specific logcat errors about sepolicy.

Are we sure this fix or yours, which is slightly different, is not gonna pose problem to other devices/configs?

chirayudesai commented 3 years ago

You can completely drop all mentions of VENDOR_SKIP_FILES_NAKED - and it won't cause any issues.

It was to exclude some more files from the 'full' build, which you don't need anymore.

For 'naked' there shouldn't be a change if you just add it all to VENDOR_SKIP_FILES and drop VENDOR_SKIP_FILES_NAKED

ConradGyllenhaal commented 3 years ago

Ok, I just dropped VENDOR_SKIP_FILES_NAKED and copied the 3 incrimining files to VENDOR_SKIP_FILES. Doing a full build from scratch to validate this.