|
17 | 17 | from bci_build.package import SupportLevel |
18 | 18 | from bci_build.package import _build_tag_prefix |
19 | 19 | from bci_build.package import generate_disk_size_constraints |
| 20 | +from bci_build.package.basecontainers import _get_os_container_package_names |
20 | 21 |
|
21 | 22 | _PCP_FILES = {} |
22 | 23 | for filename in ( |
@@ -723,3 +724,74 @@ def _get_nginx_kwargs(os_version: OsVersion): |
723 | 724 | ) |
724 | 725 | for tomcat_major, os_version in product(_TOMCAT_VERSIONS, ALL_BASE_OS_VERSIONS) |
725 | 726 | ] |
| 727 | + |
| 728 | +_BASE_PODMAN_OSC_CMD = ( |
| 729 | + "podman run --rm -it " |
| 730 | + + r"-v \$HOME/.config/osc/oscrc:/root/.config/osc/oscrc:ro,z " |
| 731 | + + r"-v \$HOME/.local/state/osc/cookiejar:/root/.local/state/osc/cookiejar:z" |
| 732 | +) |
| 733 | + |
| 734 | +OSC_CONTAINER = ApplicationStackContainer( |
| 735 | + name="osc", |
| 736 | + pretty_name="Packaging", |
| 737 | + package_name="packaging-image", |
| 738 | + os_version=OsVersion.TUMBLEWEED, |
| 739 | + is_latest=True, |
| 740 | + version_in_uid=False, |
| 741 | + version="%%osc_version%%", |
| 742 | + replacements_via_service=[ |
| 743 | + Replacement(regex_in_build_description="%%osc_version%%", package_name="osc") |
| 744 | + ], |
| 745 | + extra_files={ |
| 746 | + "entrypoint.sh": (Path(__file__).parent / "osc" / "entrypoint.sh").read_bytes() |
| 747 | + }, |
| 748 | + extra_labels={ |
| 749 | + "run": f"{_BASE_PODMAN_OSC_CMD} IMAGE", |
| 750 | + "runcwd": f"{_BASE_PODMAN_OSC_CMD} -v .:/root/osc-workdir:z IMAGE", |
| 751 | + }, |
| 752 | + package_list=[ |
| 753 | + "osc", |
| 754 | + "obs-service-appimage", |
| 755 | + "obs-service-cargo", |
| 756 | + "obs-service-cdi_containers_meta", |
| 757 | + "obs-service-compose_kiwi_description", |
| 758 | + "obs-service-docker_label_helper", |
| 759 | + "obs-service-download_assets", |
| 760 | + "obs-service-download_files", |
| 761 | + "obs-service-download_url", |
| 762 | + "obs-service-extract_file", |
| 763 | + "obs-service-format_spec_file", |
| 764 | + "obs-service-go_modules", |
| 765 | + "obs-service-kiwi_label_helper", |
| 766 | + "obs-service-kiwi_metainfo_helper", |
| 767 | + "obs-service-kubevirt_containers_meta", |
| 768 | + "obs-service-node_modules", |
| 769 | + "obs-service-obs_scm", |
| 770 | + "cpio", |
| 771 | + "obs-service-product_converter", |
| 772 | + "obs-service-recompress", |
| 773 | + "obs-service-refresh_patches", |
| 774 | + "obs-service-replace_using_env", |
| 775 | + "obs-service-replace_using_package_version", |
| 776 | + "obs-service-set_version", |
| 777 | + "obs-service-snapcraft", |
| 778 | + "obs-service-source_validator", |
| 779 | + "obs-service-tar", |
| 780 | + "obs-service-tar_scm", |
| 781 | + "obs-service-verify_file", |
| 782 | + *_get_os_container_package_names(OsVersion.TUMBLEWEED), |
| 783 | + "git", |
| 784 | + "openssh-common", |
| 785 | + "openssh-clients", |
| 786 | + ], |
| 787 | + cmd=["/bin/bash"], |
| 788 | + custom_end="""WORKDIR /root/osc-workdir |
| 789 | +COPY entrypoint.sh /usr/local/bin/entrypoint.sh |
| 790 | +RUN chmod +x /usr/local/bin/entrypoint.sh |
| 791 | +""", |
| 792 | + entrypoint=["/usr/local/bin/entrypoint.sh"], |
| 793 | + volumes=[ |
| 794 | + # default location of the build root & package cache |
| 795 | + "/var/tmp" |
| 796 | + ], |
| 797 | +) |
0 commit comments