Skip to content

Support building layers for musl-based Linux environments #340

@ncoghlan

Description

@ncoghlan

#338 adds support for targeting different versions of glibc when building Linux layers.

Targeting different libc variants is a more complex endeavour, as:

  • musl support would need to be added to https://github.com/frostming/pbs-installer
  • logic would need to be added to ensure all layers in a stack were using the same target libc variant (since mixing C runtimes in one process won't work properly).

This is different from mixing versions, where its OK if different layers (including the runtime layer) have different minimum version requirements, it just makes the overall stack minimum target version the highest of the layer minimum versions.

This is a low priority, since it mainly comes up in the context of Linux containers (where official Docker containers are based on the Alpine Linux, which uses musl libc), and venvstacks is primarily a technology aimed at bundling Python runtimes and environments into desktop applications.

It may also be worth exploring including macosx_target and linux_target information when the --tag-outputs option is passed to venvstacks publish (that could potentially be split out into its own issue, but #328 may provide a different way to handle the problem by making parallel layer stacks easier to define, letting that kind of information be encoded directly into layer names for layers that are only built for a specific target OS).

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions