Skip to content

A provisioning stamp outlives the payloads it lists, so a removed payload is never provisioned again #716

Description

@speak-agent

Observed

mcpp records a provisioned [xlings.workspace] list as a stamp, <mcpp home>/provisioned/xlings-deps-<hash>. It skips provisioning whenever the stamp matches the declaration, and does not check that the payloads still exist (src/build/prepare.cppm, needProvision = (have != want)).

After xlings remove qt-base 6.11.1 --force in mcpp's registry, the next build does not provision the payload again. It fails later, far from the cause:

warning: qt-consumer: mcpp.rules.qt: no Qt SDK. …
fatal error: QtCore/QtGlobal: No such file or directory

Deleting the stamp restores the build. Removing a payload is the documented way to replace a bad one (openxlings/xlings#620), so the case is expected in practice.

Request

A stamp counts as provisioned only while each payload it lists still resolves. Alternatively, when a listed payload is missing, the build says so and names the stamp.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions