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

  1. added a commit that references this issue on Sep 27, 2026
  2. speak-agent commented on Sep 27, 2026

    @speak-agent
    MemberAuthor

    Fixed in mcpp 2026.9.27.1 (#719, merged as b439fd9), released on GitHub and mirrored to GitCode (xlings-res/mcpp), and published in the xim index (openxlings/xim-pkgindex#894).

    Verified after the release with the published binary inside an xlings subos sandbox (xlings subos use eco-0927 --sandbox --cmd ...), mcpp configured for the CN mirror in a fresh MCPP_HOME:

    • e2e 803_a_recorded_payload_that_is_gone_is_refused_offline: offline, an entry never installed is refused by name; with a provisioning record for the list and no payload on disk, the build is refused naming the address and the record instead of passing. PASS.
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