diff --git a/runtimes/steamrt3c.yaml b/runtimes/steamrt3c.yaml new file mode 100644 index 0000000000000000000000000000000000000000..418f4ae491db7a7323672a817722e69dc8ae2209 --- /dev/null +++ b/runtimes/steamrt3c.yaml @@ -0,0 +1,128 @@ +--- +# Copyright © 2013-2016 Valve Corporation +# Copyright © 2017-2020 Collabora Ltd. +# SPDX-License-Identifier: MIT +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of these scripts and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +id_prefix: com.valvesoftware.SteamRuntime +toolbx: true + +add_packages_multiarch: + - steamrt-container-host-compat + - steamrt-libs + +add_packages: + - steamrt-container + +post_script: | + set -eux + + if [ -e /usr/share/i18n/locales/en_US ]; then + echo "en_US.UTF-8 UTF-8" > /etc/locale.gen + localedef -v -i en_US -c -f UTF-8 en_US.UTF-8 || : + test -e /usr/lib/locale/locale-archive + fi + + test -d /usr/lib/gconv + test -d /usr/lib/locale + test -d /usr/share/i18n + test -d /usr/share/libdrm + if dpkg-query -W steamrt-container-host-compat:amd64; then + test -d /usr/lib64 + test -d /usr/lib64/gconv + test -d /usr/lib64/locale + test -d /usr/lib/x86_64-linux-gnu/gconv + # Arch Linux uses a non-standard ELF interpreter for some binaries in + # the glibc package. We can't create this from + # steamrt-container-host-compat, because that breaks dpkg-shlibdeps. + ln -fns /lib64/ld-linux-x86-64.so.2 /usr/lib/ld-linux-x86-64.so.2 + if ! [ -e /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 ] \ + && ! [ -L /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 ] \ + ; then + install -d /usr/lib/x86_64-linux-gnu + ln -s /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 \ + /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 + fi + test -e /usr/x86_64-pc-linux-gnu/lib/ld-linux-x86-64.so.2 + fi + if dpkg-query -W steamrt-container-host-compat:i386; then + test -d /usr/lib32 + test -d /usr/lib32/gconv + test -d /usr/lib32/locale + test -d /usr/lib/i386-linux-gnu/gconv + if ! [ -e /usr/lib/i386-linux-gnu/ld-linux.so.2 ] \ + && ! [ -L /usr/lib/i386-linux-gnu/ld-linux.so.2 ] \ + ; then + install -d /usr/lib/i386-linux-gnu + ln -s /lib/i386-linux-gnu/ld-linux.so.2 \ + /usr/lib/i386-linux-gnu/ld-linux.so.2 + fi + test -e /usr/i686-pc-linux-gnu/lib/ld-linux.so.2 + fi + # https://github.com/ValveSoftware/steam-runtime/issues/302 + # https://github.com/ValveSoftware/steam-for-linux/issues/6310 + for prefix in /usr /usr/local; do + install -d "${prefix}/share/steam" + ln -fns "/run/host${prefix}/share/steam/compatibilitytools.d" \ + "${prefix}/share/steam/compatibilitytools.d" + done + +platform: + pre_apt_script: | + set -eux + rm -f /etc/apt/preferences.d/*steamrt-no-runtime-overlay.pref + apt-get -y full-upgrade + +sdk: + add_packages_multiarch: + - steamrt-libdebug: + debug_symbols: true + - steamrt-libdevel + + add_packages: + - steamrt-dev + - steamrt-libdebug-non-multiarch: + debug_symbols: true + + post_script: | + set -eux + + for bin in \ + dos2unix \ + ifconfig \ + ip \ + nc \ + ping \ + ping6 \ + route \ + telnet \ + traceroute \ + traceroute6 \ + unix2dos \ + vi \ + xxd \ + ; do + if [ -e /bin/busybox ] && ! [ -e "/bin/$bin" ] && ! [ -e "/usr/bin/$bin" ]; then + ln -fnsv busybox "/bin/$bin" + fi + done + +... diff --git a/suites/steamrt3c.yaml b/suites/steamrt3c.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c493a3ced286b93876c44d183c42f1a72427f156 --- /dev/null +++ b/suites/steamrt3c.yaml @@ -0,0 +1,57 @@ +--- +# Copyright 2017-2025 Collabora Ltd. +# SPDX-License-Identifier: MIT +additional_base_packages: + - steamrt-customizations +apt_components: + - main + - contrib + - non-free +can_merge_usr: after_sysroot +has_automatic_dbgsym: true +strip_source_version_suffix: '\+bsrt3c?[.~].*' +bootstrap_keyring: '0d6c9793-debian-archive-bullseye-stable.gpg' +sources: + - label: debian + apt_uri: 'http://deb.debian.org/debian' + apt_suite: 'bullseye' + keyrings: + - '8dd47936-debian-archive-bullseye-automatic.gpg' + - '4aad5c5d-debian-archive-bullseye-security-automatic.gpg' + - '0d6c9793-debian-archive-bullseye-stable.gpg' + - label: debian-debug + apt_uri: 'http://deb.debian.org/debian-debug' + apt_suite: 'bullseye-debug' + keyrings: + - '8dd47936-debian-archive-bullseye-automatic.gpg' + - '4aad5c5d-debian-archive-bullseye-security-automatic.gpg' + - '0d6c9793-debian-archive-bullseye-stable.gpg' + deb-src: false + # For security updates' detached debug symbols + - label: debian-pu-debug + apt_uri: 'http://deb.debian.org/debian-debug' + apt_suite: 'bullseye-proposed-updates-debug' + keyrings: + - '8dd47936-debian-archive-bullseye-automatic.gpg' + - '4aad5c5d-debian-archive-bullseye-security-automatic.gpg' + - '0d6c9793-debian-archive-bullseye-stable.gpg' + deb-src: false + - label: debian-security + apt_uri: 'http://security.debian.org/debian-security' + apt_suite: 'bullseye-security' + keyrings: + - '8dd47936-debian-archive-bullseye-automatic.gpg' + - '4aad5c5d-debian-archive-bullseye-security-automatic.gpg' + - '0d6c9793-debian-archive-bullseye-stable.gpg' + - label: steamrt + apt_uri: 'https://repo.steampowered.com/steamrt3c/apt' + keyrings: + - 'd0bbf5ae-valve-archive-builder.gpg' + - '8abddd96-valve-archive-steamos-release-key.gpg' + - label: steamrt-runtime-overlay + apt_uri: 'https://repo.steampowered.com/steamrt3c/apt' + apt_suite: steamrt3c-runtime-overlay + keyrings: + - 'd0bbf5ae-valve-archive-builder.gpg' + - '8abddd96-valve-archive-steamos-release-key.gpg' +...