Skip to content

[scout] Expand metapackages so they can be used to define the runtime tarball

https://phabricator.collabora.com/T13758

  • Use a branch- and date-based versioning scheme

  • steamrt-dev: Explicitly include perl in the SDK

    This is useful as a scripting language and to run tests with prove(1). It has historically been pulled in by libva-dev anyway.

  • steamrt-dev: Add pkg-config

    This is frequently used to find libraries, and is installed explicitly by bootstrap-runtime.sh.

  • steamrt-dev: Add time

    This is frequently assumed to be present (when not a shell builtin), and is installed explicitly by bootstrap-runtime.sh.

  • steamrt-dev: Add wget

    This is commonly used to download dependencies, and is installed explicitly by bootstrap-runtime.sh.

  • steamrt-dev: Add cmake

    This is a popular build system, and is installed explicitly by bootstrap-runtime.sh.

  • steamrt-dev: Add gdb

    This is necessary for debugging, and is installed explicitly by bootstrap-runtime.sh.

  • steamrt-libs: Drop libcggl

    This is a virtual package provided by libcg rather than a separate package.

  • steamrt-dev: Split out steamrt-libdevel-non-multiarch

    This lets us install steamrt-libdevel-non-multiarch in -debug runtimes.

  • Install metapackages with a lockstep version number

    This makes everything more predictable.

  • steamrt-dev: Include steamrt-container

  • Add simple autopkgtests for the SDK

    We can run these inside a SDK schroot or container with autopkgtest(1), sadt(1) or prove(1) as an acceptance test to demonstrate that a new SDK build works.

    Unlike the steamrt/spy branch, this doesn't include the Meson build system. Meson is really a bit too new for scout, and is only here with degraded functionality, to support flatpak-xdg-utils; it isn't included in SDK images.

    Also unlike the steamrt/spy branch, this doesn't include a test for being able to run c++ -m32. The toolchain packaging in scout is too old for biarch compilation to be a first-class feature.

  • steamrt-libdevel-non-multiarch: Add libraries from -debug tarball

    Add fcitx-libs-dev, libmpg123-dev, libvulkan-dev for parity with -debug Steam Runtime tarball.

  • steamrt-libdevel-non-multiarch: Depend on libgnutls-dev (>= 3.4)

    Depending directly on this, instead of the transitional libgnutls28-dev, is consistent with the -debug tarball.

  • steamrt-legacy: Add new metapackage

    This encapsulates miscellaneous packages that go in Steam Runtime tarballs for historical reasons. We could consider removing them, but it'll be easier to migrate from packages.txt to a metapackage-based code path if we include them for now.

    libstdc++6-4.6-pic appears to have been included by mistake: it is a developer-facing library (https://github.com/ValveSoftware/steam-runtime/issues/76).

    nvidia-cg-toolkit appears to have been included by mistake: it is also a developer-facing package (https://github.com/ValveSoftware/steam-runtime/issues/77).

    zenity is included, perhaps deliberately, but doesn't work (https://github.com/ValveSoftware/steam-runtime/issues/104). The Steam client seems to rely on having a system-wide copy of zenity, so perhaps we don't really need this?

    gcc-4.6-base and gcc-5-base contain copyright information for alternative versions of libgcc1. We only really need to include the one that corresponds to the libgcc1 we actually ship, but it's simplest to confirm compatibility between packages.txt and a metapackage-based code path if we explicitly include the same ones that packages.txt includes.

  • d/.gitignore: Add

Edited by Lucas Kanashiro

Merge request reports