It would be great if you could add the USE flags to the name of the resulting binary package, so one can precompile packages for hosts with different USE flags. Since IUSE lists the USE flags recognized by each single package, this is feasible. Proposed naming: <packageName>-<packageVersion>.{-?flag.}tbz2 E.g.: wget-1.8.2-r2.ssl.nls.-static.ipv6.tbz2 This is very useful for managing a whole network of workstations with different configurations. Reproducible: Always Steps to Reproduce:
the tbz2 has the USE file in it, you can parse that
But that way (i.e. as it currently is) has two problems: "Server" side: /usr/portage/packages can only contain a single "version" (regarding USE flags) of a package, so I need some special logic to export, scan and publish packages. Some work, but I could do it. "Client" side: Portage only looks for any binary version of the package, not the one with exactly the USE flags needed. That's impossible to work around. Well, I could "just" set up a directory for each client that contains exactly the packages it needs, if I have that information on my build host. But that gets impractical as the number of clients rises.
Supporting an exponetial number of package modifications isn't particularly practical. It won't become part of the package name, but will probably be possible when kept in various directories on a binhost. Use a defined set of USE flags, as it will make life simpler.
The number of hosts is going to grow much more rapidly than the number of USE flags supported by each single package, so it's better to stuff it into portage than on the package server. But it suffices to do that in a special downloader. Just provide something like FETCHCOMMAND/RESUMECOMMAND for binary packages, too. The environment of FETCHCOMMAND already contains almost everything I need to write such a downloader (sourcing $EBUILD will get IUSE).