Hi, Russ Allbery wrote:
TL;DR: "-*-cross" suffix on package names is proposed to be magic.
windlord:~/web/eagle/reviews> apt-cache search -- '-cross$' aboot-cross - utility to create bootable ISO-Images for Linux/Alpha amiga-fdisk-cross - Partition editor for Amiga partitions (cross version) atari-fdisk-cross - Partition editor for Atari (running on non-Atari) dpkg-cross - tools for cross compiling Debian packages apt-cross - retrieve, build and install libraries for cross-compiling
So it looks like the only currently affected packages for the most general wording of such a constraint are amiga-fdisk-cross and atari-fdisk-cross (since "fdisk" *could* be an architecture name), and there are no conflicts if we limit it to only valid architectures.
Indeed. It also affects gcc, gdb and binutils, which build cross compiler packages if you ask them to, but these can be filtered out either explicitly or by the fact that they do not provide interesting files for cross compilation and should thus never be converted with dpkg-cross (which also applies to *-fdisk-cross, I think).
I assume that * itself could contain dashes for architectures that don't have single component names? For example, -kfreebsd-amd64-cross. How would one disambiguate between that and a cross-compilation package for amd64 that just has kfreebsd in the package name?
Indeed, that is my main concern. I don't believe it will be the ultimate long-term solution, but it will work for lenny, and can be abandoned easily when we have a better idea; that will probably involve allowing another "special" character in package names so we can have separators, or adding (a) new field(s) whose contents are interpreted as if they were part of the package name, or even some mixture of both.
Both of these involve larger infrastructure changes and will certainly not be usable with lenny (Ideally, we might slip these changes in before the release so they can be used afterwards, but I'm not holding my breath), hence the idea to cordon off part of the namespace.
Since it is an additional restriction, this can also be simply dropped when it is no longer needed without requiring any further action.
Simon