Skip to content

Preparations for introducing a sysroot object

Simon McVittie requested to merge wip/smcv/sysroot-prep into main

/cc @denittis

  • tests: Move resolve-in-sysroot test out of pressure-vessel/

    It doesn't actually call anything PV-specific.

  • lib: Move libelf glue to its own translation unit

    It's generally good to separate out miscellaneous utilities that do and don't have an external dependency; and if we don't do this, it seems that an apparently unrelated bit of refactoring (making SrtVirtualizationInfo no longer use _srt_file_get_contents_in_sysroot()) will fail to build with scout toolchains for whatever reason, with a missing link reference to libelf symbols, even though -lelf appears on the link line.

  • system-info: Split destruction into dispose and finalize

    dispose should be idempotent, and should free all refcounted GObjects, allowing it to be used to break reference cycles.

  • system-info: Make sure container info always gets populated

    Otherwise, we could find ourselves in a situation where srt_system_info_check_container() calls ensure_container_info() and then finds that there is, in fact, no container_info object.

  • sysroot: Add a flag to return the resolved path as absolute

    This lets us skip a malloc/free cycle in a couple of places.

  • build: Tighten up build dependencies on generated headers

    I can't reproduce this locally, but on CI, it seems like some of these could be compiled before the header had been generated. Fix that.

Edited by Simon McVittie

Merge request reports