Hi Daniel, 
 
I just pushed a V2 of my patch here: https://lists.openembedded.org/g/openembedded-core/message/229419.
I added variables to add a deterministic entry if wanted, an offline mode based on DL_DIR, and a second .bbclass for SPDX2.2.
 
I can't put SPDX 2.2 and SPDX3.0 in the same class as the task scheduling is very different and a single task won't be able to handle both. 
I want to add a third class for debug-source scenario but it is going to take me some time. 
 
Do you see any other issue to solve for the current two bbclass?