I'm trying to write a Replicator for /etc/portage and that leads me to work with USE flags, trying to design the replication of them among similar systems, but I can't find the golden set of rules for how best to apply USE flags.

There seem to be a global/local USE flag system, but many so called global flags has duplicated description marking them as local flags, or they enable unneeded optional support.

Lets take one of the big ones python. This use flag enables optional python support in many packages, I don't see my system ever using the python support in most of these. Seems like it really should be a local pr. packet flag for most, a pythonapi flag perhaps.

There is also a few cases where package X requires package Y to be compiled with an USE flag, but no testing is being done in the ebuild for it and the compilation fails. Example gnome-system-tools requires libxml2 to be compiled with python support.

Then there is flags like alsa, it's marked as a global flag and then virtualbox also has it marked as a local flag. I personally think virtualbox is somewhat right in saying it's a local flag, but perhaps it would be better if the flag didn't have a double meaning.

As I see it, Gentoo's USE flag system is one of it's greatest strength, but at the moment seems like there is missing some overall design for how to implement USE flags, making it a lot harder to use USE flags, as there is no clear definition of global or local flags.

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to