|
15 | 15 |
|
16 | 16 |
|
17 | 17 | def make_packager(
|
18 |
| - build_type: str, appdir: AppDir, package_name: str, filename_prefix: str, context_path: Path |
| 18 | + build_type: str, appdir: AppDir, package_name: str, version: str, filename_prefix: str, context_path: Path |
19 | 19 | ):
|
20 | 20 | context = Context(context_path)
|
21 | 21 |
|
22 | 22 | if build_type == "rpm":
|
23 |
| - packager = RpmPackager(appdir, package_name, filename_prefix, context) |
| 23 | + packager = RpmPackager(appdir, package_name, version, filename_prefix, context) |
24 | 24 |
|
25 | 25 | elif build_type == "deb":
|
26 |
| - packager = DebPackager(appdir, package_name, filename_prefix, context) |
| 26 | + packager = DebPackager(appdir, package_name, version, filename_prefix, context) |
27 | 27 |
|
28 | 28 | else:
|
29 | 29 | raise KeyError(f"cannot create packager for unknown build type {build_type}")
|
@@ -75,39 +75,38 @@ def main(
|
75 | 75 |
|
76 | 76 | appdir_instance = AppDir(appdir, "demo.AppDir")
|
77 | 77 |
|
| 78 | + if app_name and not package_name: |
| 79 | + logger.info(f"Using user-provided linuxdeploy output app name as package name: {app_name}") |
| 80 | + package_name = app_name |
| 81 | + elif package_name: |
| 82 | + logger.info(f"Using user-provided package name: {package_name}") |
| 83 | + else: |
| 84 | + package_name = appdir_instance.guess_package_name() |
| 85 | + |
| 86 | + if not package_name: |
| 87 | + logger.critical("No package name provided and guessing failed") |
| 88 | + sys.exit(2) |
| 89 | + |
| 90 | + logger.info(f"Guessed package name {package_name}") |
| 91 | + |
| 92 | + if not filename_prefix: |
| 93 | + logger.info("Using package name as filename prefix") |
| 94 | + filename_prefix = package_name |
| 95 | + |
| 96 | + if not package_version: |
| 97 | + try: |
| 98 | + package_version = appdir_instance.guess_package_version() |
| 99 | + except ValueError: |
| 100 | + logger.critical("Could not guess version and user did not specify one") |
| 101 | + sys.exit(2) |
| 102 | + |
| 103 | + logger.info(f"Package version: {package_version}") |
| 104 | + |
78 | 105 | for build_type in build:
|
79 | 106 | with TemporaryDirectory(prefix="ldnp-") as td:
|
80 |
| - if app_name and not package_name: |
81 |
| - logger.info(f"Using user-provided linuxdeploy output app name as package name: {app_name}") |
82 |
| - package_name = app_name |
83 |
| - elif package_name: |
84 |
| - logger.info(f"Using user-provided package name: {package_name}") |
85 |
| - else: |
86 |
| - package_name = appdir_instance.guess_package_name() |
87 |
| - |
88 |
| - if not package_name: |
89 |
| - logger.critical("No package name provided and guessing failed") |
90 |
| - sys.exit(2) |
91 |
| - |
92 |
| - logger.info(f"Guessed package name {package_name}") |
93 |
| - |
94 |
| - if not filename_prefix: |
95 |
| - logger.info("Using package name as filename prefix") |
96 |
| - filename_prefix = package_name |
97 |
| - |
98 |
| - packager = make_packager(build_type, appdir_instance, package_name, filename_prefix, Path(td)) |
99 |
| - |
100 |
| - if not package_version: |
101 |
| - try: |
102 |
| - package_version = appdir_instance.guess_package_version() |
103 |
| - except ValueError: |
104 |
| - pass |
105 |
| - |
106 |
| - if not package_version: |
107 |
| - logger.warning("Could not guess package version") |
108 |
| - else: |
109 |
| - logger.info(f"Package version: {package_version}") |
110 |
| - packager.set_version(package_version) |
| 107 | + packager = make_packager( |
| 108 | + build_type, appdir_instance, package_name, package_version, filename_prefix, Path(td) |
| 109 | + ) |
111 | 110 |
|
112 | 111 | if short_description and not description:
|
113 | 112 | logger.warning("No description provided, falling back to short description")
|
|
0 commit comments