You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Two boards, and three packages whose released versions were broken (#339)
THE PUBLISHED 1.8.12.1 AND 0.2.3 CARRIED A DEPENDENCY PATH THAT ESCAPES THE
PACKAGE, AND NEITHER WOULD RESOLVE FOR A CONSUMER.
llvm.compiler-rt-builtins = { version = "22.1.8", path = "../compiler-rt-builtins" }
picolibc.picolibc = { version = "1.8.12", path = "../picolibc" }
That is how each package is developed against an unreleased sibling, and it is
invisible to every test that runs from the publishing checkout, because the
sibling IS there: the build succeeds and CI is green. It fails only after the
version is published and mirrored, for whoever installs it, as
error: path dependency 'llvm.compiler-rt-builtins' has no mcpp.toml
The three superseded versions are withdrawn from the table rather than left
beside their replacements. Two of them do not work, and the third
(22.1.8.1) makes every consumer build print two warnings about keys it uses
that `[build]` does not have.
picolibc.picolibc 1.8.12.1 -> 1.8.12.2
llvm.compiler-rt-builtins 22.1.8.1 -> 22.1.8.2
mcpplibs.cortex-m-rt 0.2.3 -> 0.2.4
Both publishing repositories now refuse an escaping path in CI, which is the
part that lasts: a grep of the manifest for a dependency path beginning with
`../` or `/`. An internal path stays legal — openarch names its own backends
that way — and only one that leaves the package is refused.
`language` and `import_std` are replaced by `c_standard`, the key `[build]`
actually has. mcpp reported both as unsupported and carried on, so the two C
packages compiled at the default standard rather than the one they asked for.
The default is already c11, so only the warnings change.
Also in this batch, the two boards that adopted the named-runner form:
mcpplibs.riscv-virt-rt 0.7.0
mcpplibs.aarch64-virt-rt 0.2.0
AUDITED MECHANICALLY BEFORE SUBMISSION, AND THE AUDIT NOW LOOKS FOR THIS.
Across the seven entries this batch touches — 34 versions, 68 URLs — every
GLOBAL and CN URL was fetched, hashed and compared with the index; every
tarball's own `mcpp.toml` was read and checked to declare the same namespace,
name and version the entry claims; and every published manifest was checked for
a dependency path that escapes its package. The last of those is new, because
the first audit passed a release that was broken in exactly that way.
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
0 commit comments