两个板级包:模拟器不再是安装期的边 - #343
Merged
Merged
Conversation
THE TIER WAS CORRECT AND BOUGHT NOTHING, AND ONLY A SANDBOX COULD SHOW THAT. `riscv-virt-rt@0.7.1` and `aarch64-virt-rt@0.2.1` moved their emulator onto the `run` tier, and both repositories assert it in their own CI: a build names the emulator zero times, a run names it. Both pass. They pass because a repository testing itself builds from its WORKING TREE, where no package install happens. A consumer installs the package, and this descriptor's platform `deps` is materialised at that moment — so a fresh sandbox running exactly the asserted build still downloaded 33 MB of emulator, through this line rather than through the tier. Measured: `Downloading xim:qemu-riscv@9.2.4-1 … 33.1 MB` inside a build that had already been proved not to ask for it. The emulator is removed from `deps` on both boards. riscv keeps `xim:picolibc-riscv`, which is a different case and a documented one: the C library IS needed to build, and removing it was a regression that took five versions to surface. OLDER VERSIONS KEEP WORKING, which is why this is safe to do at the platform level where `deps` applies to every version. 0.7.0 and 0.2.0 declare their emulator in an untiered `[xlings.workspace]` entry, which means `Always` — so it arrives when they build rather than when they install.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
分档是对的,但什么都没买到——而只有沙箱能看出来。
两个板级包在 0.7.1 / 0.2.1 把模拟器移到了
run档,各自 CI 也断言了「build 不要 / run 要」,两边都过。它们过是因为仓库自测是从工作树构建的,不发生包安装。消费者是要安装包的,而这个描述符的平台
deps正是在那一刻被物化——于是全新沙箱里跑同一个已被断言过的 build,仍然下载了 33 MB 模拟器,走的是这条线而不是分档。实测:
Downloading xim:qemu-riscv@9.2.4-1 … 33.1 MB,出现在一个刚被证明「不要模拟器」的构建里。两块板的
deps都移除模拟器。riscv 保留xim:picolibc-riscv——那是另一回事且有记录:C 库是构建需要的,移除它曾是一个五个版本后才浮现的回归。旧版本不会坏,这也是可以在「对所有版本生效」的平台级做这件事的原因:0.7.0 / 0.2.0 的
[xlings.workspace]是无档写法,等于Always,模拟器在它们构建时到达而不是安装时。