Prefer: -libqpid-proton10 -python311-urllib3_1 Macros: %__python3 /usr/bin/python3.11 %registry_url %(echo %{vendor} | cut -d '/' -f 3 | sed 's/build/registry/') :Macros %if "%{sub %{lower %_project} 1 14}" != "isv:suse:edge:" || "%{sub %_project 15 21}" == "Factory" # Here we are in Factory like project so set chart major version to 999 Macros: %chart_major 999 :Macros %else # Here we are in version branch, so set the image prefix and chart major accordingly Macros: %project_branch %(echo %{_project} | cut -d ':' -f 4) %img_prefix %{project_branch}/ %chart_major %(echo %{project_branch} | awk '{split($1,a,"."); print a[1]*100 + a[2]}') :Macros %endif %if %{sub %_project 1 3} == ISV Macros: %img_repo registry.suse.com/edge %chart_repo oci://registry.suse.com/edge %chart_prefix charts/ %manifest_repo registry.suse.com/edge %support_level l3 :Macros %else Macros: %img_repo registry.opensuse.org/isv/suse/edge/containers/images %manifest_repo registry.opensuse.org/isv/suse/edge/containers/images %chart_repo oci://registry.opensuse.org/isv/suse/edge/containers/charts %support_level techpreview :Macros %endif %if "%_repository" == "charts" || "%_repository" == "test_manifest_images" Macros: %img_repo %(echo %{registry_url}:%{_project}:images | tr ":" "/" | tr '[:upper:]' '[:lower:]') %manifest_repo %(echo %{registry_url}:%{_project}:test_manifest_images | tr ":" "/" | tr '[:upper:]' '[:lower:]') %chart_repo oci://%(echo %{registry_url}:%{_project}:charts | tr ":" "/" | tr '[:upper:]' '[:lower:]') %chart_prefix %(echo "") :Macros %endif # Missing deps for testsuite BuildFlags: excludebuild:autoconf:el BuildFlags: excludebuild:autoconf:testsuite # Only build manifest embedding images here %if "%_repository" == "test_manifest_images" BuildFlags: onlybuild:edge-image-builder-image BuildFlags: onlybuild:release-manifest-image # Exclude the images selected by the following section # as the standard repository is a dependency %ifarch aarch64 BuildFlags: excludebuild:baremetal-operator-image BuildFlags: excludebuild:endpoint-copier-operator-image BuildFlags: excludebuild:ironic-image BuildFlags: excludebuild:ironic-ipa-downloader-image BuildFlags: excludebuild:kubectl-image BuildFlags: excludebuild:kube-rbac-proxy-image BuildFlags: excludebuild:metallb-controller-image BuildFlags: excludebuild:metallb-speaker-image %endif %else # Only a subset of stack is arm64 ready %ifarch aarch64 BuildFlags: onlybuild:autoconf BuildFlags: onlybuild:baremetal-operator BuildFlags: onlybuild:baremetal-operator-image BuildFlags: onlybuild:ca-certificates-suse BuildFlags: onlybuild:container-build-checks BuildFlags: onlybuild:crudini BuildFlags: onlybuild:edge-build-checks BuildFlags: onlybuild:edge-image-builder BuildFlags: onlybuild:edge-image-builder-image BuildFlags: onlybuild:endpoint-copier-operator BuildFlags: onlybuild:endpoint-copier-operator-image BuildFlags: onlybuild:fakeroot BuildFlags: onlybuild:hauler BuildFlags: onlybuild:ipcalc BuildFlags: onlybuild:ironic-image BuildFlags: onlybuild:ironic-ipa-downloader-image BuildFlags: onlybuild:ironic-ipa-ramdisk BuildFlags: onlybuild:kubectl BuildFlags: onlybuild:kubectl-image BuildFlags: onlybuild:kube-rbac-proxy BuildFlags: onlybuild:kube-rbac-proxy-image BuildFlags: onlybuild:metallb BuildFlags: onlybuild:metallb-controller-image BuildFlags: onlybuild:metallb-speaker-image BuildFlags: onlybuild:nm-configurator BuildFlags: onlybuild:shim-noarch %endif %endif %if "%_repository" == "images" || "%_repository" == "test_manifest_images" Prefer: container:sles15-image Type: docker Repotype: none Patterntype: none BuildEngine: podman Prefer: sles-release BuildFlags: dockerarg:SLE_VERSION=15.6 # Publish multi-arch container images only once all archs have been built PublishFlags: archsync # skopeo and umoci are used by build scripts to list packages Substitute: system-packages:podman podman buildah createrepo_c release-compare skopeo umoci %endif %if "%_repository" == "images" # skopeo and umoci are used by build scripts to list packages Substitute: system-packages:podman podman buildah createrepo_c release-compare edge-build-checks skopeo umoci %endif %if "%_repository" == "images_16.0" Prefer: container:sles15-image Type: docker BuildEngine: podman Repotype: none Patterntype: none BuildFlags: dockerarg:SLE_VERSION=16.0 BuildFlags: onlybuild:kiwi-builder-image Substitute: system-packages:podman podman buildah createrepo_c release-compare skopeo umoci # Publish multi-arch container images only once all archs have been built PublishFlags: archsync # Exclude the images selected by the aarch64 section %ifarch aarch64 BuildFlags: excludebuild:baremetal-operator-image BuildFlags: excludebuild:edge-image-builder-image BuildFlags: excludebuild:endpoint-copier-operator-image BuildFlags: excludebuild:ironic-image BuildFlags: excludebuild:ironic-ipa-downloader-image BuildFlags: excludebuild:kubectl-image BuildFlags: excludebuild:kube-rbac-proxy-image BuildFlags: excludebuild:metallb-controller-image BuildFlags: excludebuild:metallb-speaker-image %endif %else %if "%{sub %{reverse %_project} 1 7}" != "%{reverse :ToTest}" && "%{sub %{reverse %_project} 1 9}" != "%{reverse :Snapshot}" BuildFlags: excludebuild:kiwi-builder-image %endif %endif %if "%_repository" == "charts" || "%_repository" == "phantomcharts" || "%_repository" == "releasecharts" Type: helm Repotype: helm Patterntype: none Required: perl-YAML-LibYAML # include edge-build-checks here Support: edge-build-checks %endif %if "%_repository" == "standard" # for build openstack-ironic-image BuildFlags: allowrootforbuild # ironic-ipa-ramdisk are noarch packages that need to be availble to both archs ExportFilter: ^ironic-ipa-ramdisk-.*\.noarch\.rpm$ aarch64 x86_64 %endif # Enable reproducible builds # https://en.opensuse.org/openSUSE:Reproducible_Builds\#With_OBS Macros: %source_date_epoch_from_changelog Y %clamp_mtime_to_source_date_epoch Y %use_source_date_epoch_as_buildtime Y %_buildhost reproducible :Macros