|
32 | 32 | import doit # type: ignore
|
33 | 33 |
|
34 | 34 | from buildchain import builder
|
| 35 | +from buildchain import config |
35 | 36 | from buildchain import constants
|
36 | 37 | from buildchain import coreutils
|
37 | 38 | from buildchain import docker_command
|
|
45 | 46 |
|
46 | 47 |
|
47 | 48 | def _list_packages_to_build(
|
48 |
| - pkg_cats: Mapping[str, Mapping[str, Tuple[targets.Package, ...]]] |
| 49 | + pkg_cats: Mapping[str, Mapping[str, Tuple[targets.Package, ...]]], |
49 | 50 | ) -> Dict[str, List[str]]:
|
50 | 51 | return {
|
51 | 52 | version: [pkg.name for pkg in pkg_list]
|
@@ -149,11 +150,27 @@ def task__package_mkdir_iso_root() -> types.TaskDict:
|
149 | 150 |
|
150 | 151 | def task__package_mkdir_redhat_iso_root() -> types.TaskDict:
|
151 | 152 | """Create the RedHat packages root directory on the ISO."""
|
152 |
| - return targets.Mkdir( |
| 153 | + |
| 154 | + def clean() -> None: |
| 155 | + """Clean RedHat directory including saltenv directory structure.""" |
| 156 | + # Remove saltenv directory structure created by repository index files |
| 157 | + saltenv_dir = ( |
| 158 | + constants.REPO_REDHAT_ROOT |
| 159 | + / f"{config.PROJECT_NAME.lower()}-{versions.VERSION}" |
| 160 | + ) |
| 161 | + if saltenv_dir.exists(): |
| 162 | + coreutils.rm_rf(saltenv_dir) |
| 163 | + |
| 164 | + mkdir_task = targets.Mkdir( |
153 | 165 | directory=constants.REPO_REDHAT_ROOT,
|
154 | 166 | task_dep=["_package_mkdir_iso_root"],
|
155 | 167 | ).task
|
156 | 168 |
|
| 169 | + # Add our custom cleanup function |
| 170 | + mkdir_task["clean"] = [clean] |
| 171 | + |
| 172 | + return mkdir_task |
| 173 | + |
157 | 174 |
|
158 | 175 | def _package_mkdir_redhat_release_iso_root(releasever: str) -> types.TaskDict:
|
159 | 176 | """
|
@@ -263,6 +280,7 @@ def task__build_redhat_8_repositories() -> Iterator[types.TaskDict]:
|
263 | 280 | # }}}
|
264 | 281 | # RPM packages and repository {{{
|
265 | 282 |
|
| 283 | + |
266 | 284 | # Packages to build, per repository.
|
267 | 285 | def _rpm_package(name: str, releasever: str, sources: List[Path]) -> targets.RPMPackage:
|
268 | 286 | try:
|
@@ -362,11 +380,11 @@ def _rpm_package_metalk8s_sosreport(releasever: str) -> targets.RPMPackage:
|
362 | 380 |
|
363 | 381 |
|
364 | 382 | # Store these versions in a dict to use with doit.tools.config_changed
|
365 |
| -_TO_DOWNLOAD_RPM_CONFIG: Dict[ |
366 |
| - str, Dict[str, Optional[str]] |
367 |
| -] = _list_packages_to_download( |
368 |
| - versions.REDHAT_PACKAGES, |
369 |
| - _RPM_TO_BUILD_PKG_NAMES, |
| 383 | +_TO_DOWNLOAD_RPM_CONFIG: Dict[str, Dict[str, Optional[str]]] = ( |
| 384 | + _list_packages_to_download( |
| 385 | + versions.REDHAT_PACKAGES, |
| 386 | + _RPM_TO_BUILD_PKG_NAMES, |
| 387 | + ) |
370 | 388 | )
|
371 | 389 |
|
372 | 390 |
|
|
0 commit comments