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