Jump to: navigation, search


2 bytes added, 9 months ago
Portage Limitations (Technical)
set {{c|RUBY_TARGETS}} in one central place, and not keep multiple things in sync. But due to limitations in Portage, this is how it needs to be done.
'''The reason why we can't set Ruby settings all in one place is because ''Portage expects that "an ebuild's dependencies" come from the ebuild (tracked by md5 digest), potentially modified by eclasses (tracked by md5 digest), and that there are no other external influences.'''
{{c|RUBY_TARGETS}} is a profile setting, which gets USE expanded to {{c|ruby_targets_ruby26}}, etc. Dependencies "interact" with USE settings via ''conditionals'' which are actually stored in the dependency itself, and in the md5-cache, so dependencies can "dynamically adapt" to USE settings (this is why USE settings are used so heavily by Gentoo for so many strange things.) This means that getting dynamic changes from USE changes is "safe" from a Portage perspective.
Bureaucrats, Administrators, wiki-admins, wiki-staff

Navigation menu