#1781 RFE: Need a way to get volume ID and application ID maps to set in kiwibuild
Opened by ngompa. Modified

Over the past few days, I've been trying to "recreate" the volume ID and application ID maps for kiwibuild because the actual format and structures seem to not be available to directly set even though Pungi knows them.

This map in general.conf: https://pagure.io/pungi-fedora/blob/main/f/general.conf#_39-81

This variable in fedora.conf: https://pagure.io/pungi-fedora/blob/main/f/fedora.conf#_193-196

Both of those look like things I can access to set things in kiwibuild but I cannot (which led to this, which also didn't work because it turns out Pungi does some magic substitution stuff with global_release only in image_build and not in kiwibuild).

I'd like to be able to directly use information pungi knows to set volid and application_id.


This would indeed be nice to have, but it is tricky. There are a couple things going on:

The global_release option has a special value that is replaced by Pungi with the actual computed value. That can only happens once the process gets far enough to actually have the required information.

The substitution via % is done by kobo while the library is parsing the config file.

At the parsing time, we don't have the actual release value (and we can't have it, the content of the config file can influence it), so it can not be substituted in. Once the parsing is done, there's no trace anymore that there even was any substitution.

One option would be to simply replace the value of global_release after it's included in the type attr, essentially turning it from volid=Fedora-KDEM-Live-rawh-!RELEASE_FROM_LABEL_DATE_TYPE_RESPIN to volid=Fedora-KDEM-Live-rawh-20240826.n.1 (or something like that).

That would help slightly, but it doesn't help with the general format of the volid, nor with the abbreviations.

We could add some way for pungi to generate a volume id value and pass that in. There's a disconnect here though. The volume ID contains the architecture, but Pungi is triggering a single task and can only pass in a single value for the volume id. This would need some support on the other side of the task either in Koji or in kiwi.

There's also no way to figure out the disc_type.

disc_type is probably the least important one. We could also just stop putting the architecture in volume IDs. Is there a particularly good reason for us to have it there?

This is also going to be important for this too: https://pagure.io/koji/pull-request/4184

This issue has been migrated to Fedora Forge:
https://forge.fedoraproject.org/pungi/pungi/issues/1781

Please continue any further discussion there.

Metadata