On Mon, 2021-06-28 at 15:00 +0200, Agostino Sarubbo wrote: > Hello all, > > long story short: > > when there is a major change (new gcc, new libc, and so on), tinderbox takes > a > lot of time to test the entire tree. > > Let's do a practical example: > A new version of sys-devel/gcc is added to the tree. > > There is no way to know how much packages compiles C/C++ code, so the easiest > way is compile the entire tree. > > Instead, imagine that each ebuild declares a variable called SOURCETYPE ( or > similar, or in metadata.xml if you prefer ) and with a tool like equery/eix > we > are able to get the list of all packages that compiles C code. > > The same thing applies to other languages like python, ruby, go and so on > where compile the dev-$language category covers a lot of packages, but there > will be always other ebuilds that uses $language in other categories. > > What do you think? >
It's a worthwhile goal but it's practically impossible to get it right. For example, right now we've had quite a few cases of Python ebuilds wrongly declaring <stabilize-allarches/>, i.e. people missing use of C besides Python. That is, unless you can figure out a way for Portage to reliably detect SOURCETYPE and tell people what to set. -- Best regards, Michał Górny