From e0cfc8789c0b06bb1e7259416b7ac2315c1dd1fb Mon Sep 17 00:00:00 2001 From: Andrii Nikitin Date: Mon, 16 Sep 2024 13:06:22 +0200 Subject: [PATCH] Add xml attribute ln_iso_to_repo It is needed for agama s390x to overcome architectural limitations --- script/cfg.py | 1 + script/scriptgen.py | 6 ++++++ .../systemsmanagement:Agama:Devel/s390x/print_openqa.before | 1 + .../s390x/print_rsync_iso.before | 1 + xml/obs/systemsmanagement:Agama:Devel.xml | 2 +- 5 files changed, 10 insertions(+), 1 deletion(-) diff --git a/script/cfg.py b/script/cfg.py index de858eb8..034edc9f 100644 --- a/script/cfg.py +++ b/script/cfg.py @@ -80,6 +80,7 @@ def rsync_commands(checksum): mkdir /var/lib/openqa/factory/repo/$repo0folder bsdtar xf /var/lib/openqa/factory/iso/$dest -C /var/lib/openqa/factory/repo/$repo0folder }" + [ -z "FLAVORTOREPOORS" ] || [ $( echo "$flavor" | grep -E -c "^(FLAVORTOREPOORS)$" ) -eq 0 ] || echo "cp -l /var/lib/openqa/factory/iso/$dest /var/lib/openqa/factory/openqa/factory/repo/" done done''' diff --git a/script/scriptgen.py b/script/scriptgen.py index 2a602b4a..a4b00491 100644 --- a/script/scriptgen.py +++ b/script/scriptgen.py @@ -168,6 +168,7 @@ def __init__(self, name, actionGenerator): self.fixed_iso = "" self.mask = "" self.iso_extract_as_repo = {} + self.ln_iso_to_repo = {} self.mirror_repo = "" self.repos = [] self.repolink = "" @@ -276,6 +277,7 @@ def p( s = s.replace("FLAVORORS", "|".join(self.flavors)) s = s.replace("FLAVORALIASLIST", ",".join(aliases)) s = s.replace("FLAVORASREPOORS", "|".join([f for f in self.flavors if self.iso_extract_as_repo.get(f, 0)])) + s = s.replace("FLAVORTOREPOORS", "|".join([f for f in self.flavors if self.ln_iso_to_repo.get(f, 0)])) if self.repos or (self.repolink and not "/" in self.repolink): repos = self.repos.copy() @@ -354,6 +356,8 @@ def doFlavor(self, node): self.iso_extract_as_repo[iso] = 1 self.repo0folder = node.attrib["extract_as_repo"] self.isos.append(iso) + if node.attrib.get("ln_iso_to_repo", ""): + self.ln_iso_to_repo[iso] = node.attrib["ln_iso_to_repo"] if node.attrib.get("name", "") and node.attrib.get("folder", ""): self.iso_folder[node.attrib["name"]] = node.attrib["folder"] @@ -1049,6 +1053,8 @@ def gen_print_openqa(self, f): s = cfg.openqa_call_repo0b destiso = self.fixed_iso[:-4] self.p(s, f, "REPO0_ISO", destiso) + if self.ln_iso_to_repo.get(iso, 0): + self.p(s, f, "REPO_0", "REPO_999", "REPO0_ISO", destiso + ".iso") if self.iso_5: pref = self.iso_5.replace("-", "_").rstrip("_DVD") self.p(cfg.openqa_call_repo5, f, "REPOALIAS", "SLE_{}".format(pref)) diff --git a/t/obs/systemsmanagement:Agama:Devel/s390x/print_openqa.before b/t/obs/systemsmanagement:Agama:Devel/s390x/print_openqa.before index 2e165c16..89d8030c 100644 --- a/t/obs/systemsmanagement:Agama:Devel/s390x/print_openqa.before +++ b/t/obs/systemsmanagement:Agama:Devel/s390x/print_openqa.before @@ -11,6 +11,7 @@ MIRROR_HTTPS=https://openqa.opensuse.org/assets/repo/agama-installer.s390x-9.0.0-openSUSE-Build17.9 \ MIRROR_PREFIX=http://openqa.opensuse.org/assets/repo \ REPO_0=agama-installer.s390x-9.0.0-openSUSE-Build17.9 \ + REPO_999=agama-installer.s390x-9.0.0-openSUSE-Build17.9.iso \ SUSEMIRROR=http://openqa.opensuse.org/assets/repo/agama-installer.s390x-9.0.0-openSUSE-Build17.9 \ VERSION=agama-9.0 \ _OBSOLETE=1 diff --git a/t/obs/systemsmanagement:Agama:Devel/s390x/print_rsync_iso.before b/t/obs/systemsmanagement:Agama:Devel/s390x/print_rsync_iso.before index f0b231b7..5322528d 100644 --- a/t/obs/systemsmanagement:Agama:Devel/s390x/print_rsync_iso.before +++ b/t/obs/systemsmanagement:Agama:Devel/s390x/print_rsync_iso.before @@ -4,3 +4,4 @@ rsync --timeout=3600 -tlp4 --specials obspublish-other::openqa/systemsmanagement mkdir /var/lib/openqa/factory/repo/agama-installer.s390x-9.0.0-openSUSE-Build17.9 bsdtar xf /var/lib/openqa/factory/iso/agama-installer.s390x-9.0.0-openSUSE-Build17.9.iso -C /var/lib/openqa/factory/repo/agama-installer.s390x-9.0.0-openSUSE-Build17.9 } +cp -l /var/lib/openqa/factory/iso/agama-installer.s390x-9.0.0-openSUSE-Build17.9.iso /var/lib/openqa/factory/openqa/factory/repo/ diff --git a/xml/obs/systemsmanagement:Agama:Devel.xml b/xml/obs/systemsmanagement:Agama:Devel.xml index e250be13..e7580462 100644 --- a/xml/obs/systemsmanagement:Agama:Devel.xml +++ b/xml/obs/systemsmanagement:Agama:Devel.xml @@ -7,6 +7,6 @@ - +