Hi Bastian (2025.02.04_13:25:08_-0400)
The resolution of the issue brought to the tech-ctte requires figuring
out whether linux-libc-dev will take over providing these headers for
cross toolchain building, or whether cross-toolchain-base continues to
own the linux-libc-dev-${arch}-cross virtual package names (and provides
symlinks or duplicates of headers).

I've had a few IRC conversations with both Bastian and Matthias about what comes next. No conclusions yet, but the ground we've covered is:

Matthias is asserting that the -cross package namespace and /usr/<triplet> sysroot directories belong to cross-toolchain-base. He'd like to keep control of those packages.

Bastian is concerned that if both linux-libc-dev and linux-libc-dev-*-cross provide linux headers in different paths they should conflict with each other to avoid compilers accidentally sourcing the wrong headers. linux-libc-dev installs in the usual multiarch include directory (/usr/include/$ARCH/linux/). linux-libc-dev-*-cross installs in the sysroot directory (/usr/$ARCH/include/linux/)

I would imagine that any conflicts like that would make linux-libc-dev-*-cross practically uninstallable in any situation where you'd need them (libc6-dev depends on linux-libc-dev).

So, we're back to trying to unpick this knot. The Techncial Committee is not supposed to do design work, but I can see some possible ways out of this.

I could see a scenario where linux-libc-dev-*-cross are tiny wrapper packages, depending on linux-libc-dev and including symlinks from one include directory to the other. I assume that wouldn't need the Conflicts?

Or if the Conflicts were more version-targetted and allow linux-libc-dev and linux-libc-dev-*-cross to co-install if they were built from the same linux source version, would that be acceptable?

Do either of you have any thoughts on how we should figure this out?

Stefano

--
Stefano Rivera
  http://tumbleweed.org.za/
  +1 415 683 3272

Reply via email to