Hello Andreas,
This my first attempt to write small patches for udd[0](for the changes we were discussing) one for blends_metadata_gatherer.py and one for setup.sql (I have attached the two corresponding files).
I added an extra table blends_dependencies_alternatives(i did not think of any other table name or fields name):
-------------------------------------------------------------
blend | task | alternatives
-------------------------------------------------------------
blendname | taskname | package1 | package2 | package3 ..
I added in blends_metadata_gatherer.py to also include the avoid packages(in order to keep a list of the excluded packages per task as current blend-gen-control, if you think we do not this you can remove it). Also I have to note that I added into "my_config" of blends_metadata_gatherer.py a 'table-alternatives' entry which should provide the name "blends_dependencies_alternatives" of the new table when it's needed in the code(I imitated the way you use the other configs you already have).
I do not know if these were the changes you had in mind when thinking about adding the extra table to handle to packages' alternatives. In cas e you don't agree with something let me know and I will change it(or rewrite the code if I am in a completely wrong direction).
Kind regards
Emmanouil