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.
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.