The '--reuse|--reuse_maximum' feature mirrors the remote
shared repository and imports all debs from the mirror
to the local repository, there are no deb packages in the
local build directory for the reused packages which make
some tasks like building docker images and secure boot
signing fail for the missing deb packages.
This commit supports the below functions to fix the above
issues:
a. If '--dl_reused' option is enabled for option '--reuse'
or '--reuse_maximum', all the reused deb packages will be
downloaded to their local build directory.
b. 'never_reuse.lst' will be checked and the packages listed
in it will be built locally instead of reusing them if the
option '--reuse' is enabled. And it will be ignored if the
option '--reuse_maximum' is enabled.
Test Plan:
Pass: build-pkgs (make sure the normal build-pkgs works)
Pass: export STX_SHARED_REPO=<url to shard repo>
export STX_SHARED_SOURCE=<url to shared source>
build-pkgs --reuse
Pass: export STX_SHARED_REPO=<url to shard repo>
export STX_SHARED_SOURCE=<url to shared source>
build-pkgs --reuse --dl_reused
Pass: export STX_SHARED_REPO=<url to shard repo>
export STX_SHARED_SOURCE=<url to shared source>
build-pkgs --clean --reuse --dl_reused
Run the secure boot signing script
Pass: export STX_SHARED_REPO=<url to shard repo>
export STX_SHARED_SOURCE=<url to shared source>
build-pkgs --clean --reuse --dl_reused
build-pkgs (Make sure this build will not build from scratch)
Pass: export STX_SHARED_REPO=<url to shard repo>
export STX_SHARED_SOURCE=<url to shared source>
build-pkgs --clean --reuse_maximum --dl_reused
Pass: export STX_SHARED_REPO=<url to shard repo>
export STX_SHARED_SOURCE=<url to shared source>
build-pkgs --reuse_maximum --dl_reused
Partial-Bug: 2017763
Signed-off-by: hqbai <haiqing.bai@windriver.com>
Change-Id: I8cd84dbe6fe8f0262dde12befb0b16367e261968