Skip to content

0.6.0 — repin the C library, whose exec search a consumer could not reach - #12

Merged
Sunrisepeak merged 1 commit into
mainfrom
repin-musl-0.10.0
Aug 30, 2026
Merged

0.6.0 — repin the C library, whose exec search a consumer could not reach#12
Sunrisepeak merged 1 commit into
mainfrom
repin-musl-0.10.0

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

openkal-musl 0.10.0
— the exec search, and the family of answers that were not true (openkal-linux#13).

⚠️⚠️ This repin is not a formality

A version requirement is exact here and nothing floats up, so this package's
pin is the whole of what a C++ consumer can have. Without this release, a program
that writes

openkal-musl         = "0.10.0"
openkal-llvm-runtime = "0.5.0"

does not get the new C library. It does not get the old one either — it gets:

error: dependency 'mcpplibs.openkal-musl' has irreconcilable versions:
  '0.10.0' requested by '<the program>'
  '0.9.0'  requested by 'mcpplibs.openkal-llvm-runtime@0.5.0'

Measured, in a clean sandbox.

The reporter of openkal-linux#13 builds C++ — their crash reports name
libc++abi and a terminal-interface library — so they reach the C library through
this pin and through nothing else. They were told to change their own line, by
us. This release is what makes the right line exist.

Verified through this package rather than beneath it

std::filesystem::last_write_time on a lock directory, both overloads:

reading a lock directory's mtime (never was broken)      ok
refreshing it -- the overload that actually failed       ok
and the value read back is the one just written          ok

That is the reporter's own case, and the one they read as a failure to read,
because libc++ gives both overloads one name in the message it throws. Reading
was never broken; refreshing was.

… reach

openkal-musl 0.10.0. The C library it is configured for answered openkal-linux#13
by asking whether a program can be started before starting it, and by refusing
six answers that were not true.

⚠️⚠️ AND THIS REPIN IS NOT A FORMALITY, WHICH IS THE PART WORTH RECORDING.

A version requirement is EXACT here and nothing floats up, so this package's pin
is the whole of what a C++ consumer can have. Without this release, a program
that writes

    openkal-musl         = "0.10.0"
    openkal-llvm-runtime = "0.5.0"

does not get the new C library. It does not get the old one either --- it gets

    error: dependency 'mcpplibs.openkal-musl' has irreconcilable versions:
      '0.10.0' requested by '<the program>'
      '0.9.0'  requested by 'mcpplibs.openkal-llvm-runtime@0.5.0'

Measured. So a consumer building C++ --- which is every consumer of this package
--- reaches the C library through this pin and through nothing else, and telling
one to change its own line is telling it to do something that cannot work.

⭐ The reporter of openkal-linux#13 builds C++: their crash reports name libc++abi
and a terminal-interface library. They were told to change the wrong line, by us,
and this release is what makes the right line exist.

Verified through this package rather than beneath it: `std::filesystem::last_write_time`
on a lock DIRECTORY, both overloads. That is the reporter's own case, and the one
they read as a failure to READ because libc++ gives both overloads one name in
the message it throws. Reading was never broken; refreshing was, and now is not.
@Sunrisepeak
Sunrisepeak merged commit 75c7498 into main Aug 30, 2026
5 checks passed
@Sunrisepeak
Sunrisepeak deleted the repin-musl-0.10.0 branch August 30, 2026 07:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant