Skip to content

Commit

Permalink
SLE15 SP5 LTSS base container
Browse files Browse the repository at this point in the history
  • Loading branch information
dirkmueller committed Nov 29, 2024
1 parent f20f60c commit 91d2ee9
Showing 1 changed file with 32 additions and 14 deletions.
46 changes: 32 additions & 14 deletions src/bci_build/package/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from bci_build.package import Package


def _get_base_config_sh_script(os_version: OsVersion) -> str:
def _get_base_config_sh_script(os_version: OsVersion, is_ltss: bool) -> str:
return Template(
r"""
echo "Configure image: [$kiwi_iname]..."
Expand Down Expand Up @@ -51,7 +51,7 @@ def _get_base_config_sh_script(os_version: OsVersion) -> str:
#--------------------------------------
sed -i 's/.*rpm.install.excludedocs.*/rpm.install.excludedocs = yes/g' /etc/zypp/zypp.conf
{% if os_version.is_sle15 and not os_version.is_ltss -%}
{% if os_version.is_sle15 and not is_ltss -%}
#======================================
# Configure SLE BCI repositories
#--------------------------------------
Expand Down Expand Up @@ -92,11 +92,13 @@ def _get_base_config_sh_script(os_version: OsVersion) -> str:
#--------------------------------------
(shopt -s globstar; rm -f /usr/share/locale/**/*.mo)
"""
).render(os_version=os_version)
).render(os_version=os_version, is_ltss=is_ltss)


@dataclass
class Sles15Image(OsContainer):
is_ltss: bool = False

@property
def build_tags(self) -> list[str]:
tags: list[str] = []
Expand All @@ -107,20 +109,29 @@ def build_tags(self) -> list[str]:
tags += super().build_tags
return tags

@property
def eula(self) -> str:
if self.is_ltss:
return "sle-eula"
return super().eula

@property
def uid(self) -> str:
return "sles15"


def _get_base_kwargs(os_version: OsVersion) -> dict:
def _get_base_kwargs(os_version: OsVersion, is_ltss: bool = False) -> dict:
kwargs = {}

package_name: str = "base-image"
if os_version.is_ltss:
if is_ltss:
package_name = "sles15-ltss-image"
kwargs["is_ltss"] = True
elif os_version.is_sle15:
package_name = "sles15-image"

return {
"name": "base",
return kwargs | {
"name": "sles15-ltss" if is_ltss else "base",
"pretty_name": "%OS_VERSION_NO_DASH% Base",
"package_name": package_name,
"custom_description": "Image for containers based on %OS_PRETTY_NAME%.",
Expand Down Expand Up @@ -194,15 +205,22 @@ def _get_base_kwargs(os_version: OsVersion) -> dict:
+ [*os_version.release_package_names]
)
],
"config_sh_script": _get_base_config_sh_script(os_version),
"config_sh_script": _get_base_config_sh_script(os_version, is_ltss),
"_min_release_counter": 40,
}


# TODO merge in tumbleweed changes and switch to ALL_BASE_OS_VERSIONS
BASE_CONTAINERS = [
Sles15Image(**_get_base_kwargs(os_ver)) for os_ver in (OsVersion.SP6, OsVersion.SP7)
] + [
OsContainer(**_get_base_kwargs(os_version=os_ver))
for os_ver in (OsVersion.SLE16_0,)
]
BASE_CONTAINERS = (
[
Sles15Image(**_get_base_kwargs(OsVersion.SP5, is_ltss=True)),
]
+ [
Sles15Image(**_get_base_kwargs(os_ver))
for os_ver in (OsVersion.SP6, OsVersion.SP7)
]
+ [
OsContainer(**_get_base_kwargs(os_version=os_ver))
for os_ver in (OsVersion.SLE16_0,)
]
)

0 comments on commit 91d2ee9

Please sign in to comment.