Message ID | 20240227144335.1196131-4-alex.bennee@linaro.org |
---|---|
State | New |
Headers | show |
Series | maintainer updates for 9.0 pre-PR (tests, plugin register support) | expand |
On 27/02/2024 15.43, Alex Bennée wrote: > The main problem is that "check-venv" is a .PHONY target will always > evaluate and trigger a full re-build of the VM images. While its > tempting to drop it from the dependencies that does introduce a > breakage on freshly configured builds. > > Fortunately we do have the otherwise redundant --force flag for the > script which up until now was always on. If we make the usage of > --force conditional on dependencies other than check-venv triggering > the update we can avoid the costly rebuild and still run cleanly on a > fresh checkout. > > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2118 > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > --- > tests/vm/Makefile.include | 2 +- > tests/vm/basevm.py | 4 ++-- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/tests/vm/Makefile.include b/tests/vm/Makefile.include > index bf12e0fa3c5..ac56824a87d 100644 > --- a/tests/vm/Makefile.include > +++ b/tests/vm/Makefile.include > @@ -102,7 +102,7 @@ $(IMAGES_DIR)/%.img: $(SRC_PATH)/tests/vm/% \ > $(if $(LOG_CONSOLE),--log-console) \ > --source-path $(SRC_PATH) \ > --image "$@" \ > - --force \ > + $(if $(filter-out check-venv, $?), --force) \ > --build-image $@, \ > " VM-IMAGE $*") > > diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py > index c0d62c08031..f8fd751eb14 100644 > --- a/tests/vm/basevm.py > +++ b/tests/vm/basevm.py > @@ -646,9 +646,9 @@ def main(vmcls, config=None): > vm = vmcls(args, config=config) > if args.build_image: > if os.path.exists(args.image) and not args.force: > - sys.stderr.writelines(["Image file exists: %s\n" % args.image, > + sys.stderr.writelines(["Image file exists, skipping build: %s\n" % args.image, > "Use --force option to overwrite\n"]) > - return 1 > + return 0 > return vm.build_image(args.image) > if args.build_qemu: > vm.add_source_dir(args.build_qemu) Reviewed-by: Thomas Huth <thuth@redhat.com>
diff --git a/tests/vm/Makefile.include b/tests/vm/Makefile.include index bf12e0fa3c5..ac56824a87d 100644 --- a/tests/vm/Makefile.include +++ b/tests/vm/Makefile.include @@ -102,7 +102,7 @@ $(IMAGES_DIR)/%.img: $(SRC_PATH)/tests/vm/% \ $(if $(LOG_CONSOLE),--log-console) \ --source-path $(SRC_PATH) \ --image "$@" \ - --force \ + $(if $(filter-out check-venv, $?), --force) \ --build-image $@, \ " VM-IMAGE $*") diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py index c0d62c08031..f8fd751eb14 100644 --- a/tests/vm/basevm.py +++ b/tests/vm/basevm.py @@ -646,9 +646,9 @@ def main(vmcls, config=None): vm = vmcls(args, config=config) if args.build_image: if os.path.exists(args.image) and not args.force: - sys.stderr.writelines(["Image file exists: %s\n" % args.image, + sys.stderr.writelines(["Image file exists, skipping build: %s\n" % args.image, "Use --force option to overwrite\n"]) - return 1 + return 0 return vm.build_image(args.image) if args.build_qemu: vm.add_source_dir(args.build_qemu)
The main problem is that "check-venv" is a .PHONY target will always evaluate and trigger a full re-build of the VM images. While its tempting to drop it from the dependencies that does introduce a breakage on freshly configured builds. Fortunately we do have the otherwise redundant --force flag for the script which up until now was always on. If we make the usage of --force conditional on dependencies other than check-venv triggering the update we can avoid the costly rebuild and still run cleanly on a fresh checkout. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2118 Signed-off-by: Alex Bennée <alex.bennee@linaro.org> --- tests/vm/Makefile.include | 2 +- tests/vm/basevm.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)