Skip to content
Snippets Groups Projects
Simon McVittie's avatar
Simon McVittie authored
To test:

    echo "foo@Base" | ./_build/helpers/x86_64-linux-gnu-inspect-library libz.so.1 -

This isn't used for anything yet, but when we give it more integration
into the library, we might want to use a pipe to supply the
list of symbols. For instance, if we use deb-symbols(5) symbols lists
(which describe one or more shared libraries, each with their symbols)
to describe the Steam Runtime, then we'll want something like this
pseudocode:

    while lines remain:
        SONAME = next line until first whitespace

        run helper with pipes on stdin and stdout

        while next line starts with one of ('|', '*', ' '):
            if next line starts with ' ':
                symbol@version = rest of line until first whitespace
                write symbol@version to pipe
            else:
                ignore '* Field: value' or '| alternative dependency'

        close pipe to helper's stdin
        collect results from stdout
        collect exit status
        add SrtLibrary to list of libraries

Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
8fb99b99
History

steam-runtime-tools — Steam Runtime integration for the Steam client

The steam-runtime-tools library provides low-level Unix-specific tools and functionality for the Steam client.

To support multiple architectures (currently only i386 and x86_64 are supported), you will need to build it once for each architecture and install at least the helper tools in /usr/libexec/steam-runtime-tools-0 (the libsteam-runtime-tools-0-helpers package) for every architecture in parallel.

The helper tools are located relative to the shared library, so it's OK to bundle steam-runtime-tools alongside some other stack in this layout:

anything/
    lib/
        x86_64-linux-gnu/
            libsteam-runtime-tools-0.so.0
    libexec/
        steam-runtime-tools-0/
            i386-linux-gnu-*
            x86_64-linux-gnu-*

as long as the program that is linked to libsteam-runtime-tools-0.so.0 can find it (via a RPATH or RUNPATH or by setting the LD_LIBRARY_PATH environment variable).