CreatePatch.py: Inform more explicitly about missing utilities 95/286595/5
authorAntoni Adaszkiewicz <a.adaszkiewi@samsung.com>
Tue, 10 Jan 2023 09:39:20 +0000 (10:39 +0100)
committerAntoni Adaszkiewicz <a.adaszkiewi@samsung.com>
Tue, 10 Jan 2023 10:16:52 +0000 (11:16 +0100)
Change-Id: I82d23e08d8af38388a7223ec02a732a02ba3eaf2

mk_delta/common/bin/CreatePatch.py

index 0ad6df1..f9d9058 100755 (executable)
@@ -881,12 +881,16 @@ def main():
 
                # TODO verify if other linux distributions support APT library
                cache = apt.Cache()
-               if cache['brotli'].is_installed and cache['attr'].is_installed and cache['tar'].is_installed:
-                       logging.info('Basic utils installed')
-               else:
-                       print("Basic utils missing -- ABORT", file=sys.stderr)
+               package_names = ['brotli', 'attr', 'tar']
+               missing_package_names = [package for package in package_names if package not in cache or not cache[package].is_installed]
+
+               if missing_package_names:
+                       missing_package_names = ", ".join(missing_package_names)
+                       print(f"Missing packages: {missing_package_names} -- ABORT", file=sys.stderr)
                        sys.exit(1)
 
+               logging.info('Basic utils installed')
+
                if UPDATE_TYPE_S == FULL_IMAGE:
                        generate_full_image(args)
                elif UPDATE_TYPE_S == DELTA_IMAGE: