blue-build / modules

BlueBuild standard modules used for building your Atomic Images
Apache License 2.0
21 stars 27 forks source link

feat(gnome-extensions): Add PK ID recipe input support #249

Closed fiftydinar closed 3 weeks ago

fiftydinar commented 1 month ago

Subject

PK number ID config can be used now for recipe input, in case if any duplicated extensions exist. Module conveniently informs about this scenario & recommends the user to switch to PK ID in this case.

Mixed config in PK ID & "literal extension names" are supported for both install & uninstall entries.

Additionally not related to this PR's subject, I improved reliability of applying missing gschema.compiled workaround. I use UUID detetection now instead of "literal extension name".

Status

Apart from maybe some doc updates, it's ready to merge.

Wondering If I should add additional documentation besides module.yml or not.

xynydev commented 4 weeks ago

IMO we shouldn’t deprecate what you call “literal name config” because:

fiftydinar commented 4 weeks ago
* We just added it, deprecating it / calling it legacy immediately might be confusing for users and make the system feel less stable

I understand this, but it's better to fix the mistake now, rather than later.

* It works well for extensions where the names are unique and errors out for extensions where they aren’t, keeping it shouldn’t cause additional user frustration

It is a rare scenario, but it can happen that user's extension which he initially installed gets incompatible, while some other irrelevant extension with the same name is compatible & it gets installed without user knowing.

That's something that I'm not comfortable with.

* It produces more readable configuration files and has kind of a wow-effect (so you just install the extensions by typing their names there? cool), whereas IDs feel technical and produce unreadable configuration that basically requires comments

I agree with this, but see the point above where I'm uncomfortable.

Maybe that scenario realistically never happens, so we can keep both "literal-name" & "PK".

xynydev commented 4 weeks ago

It is a rare scenario, but it can happen that user's extension which he initially installed gets incompatible, while some other irrelevant extension with the same name is compatible & it gets installed without user knowing.

That's something that I'm not comfortable with.

Can’t the module be made to error every time there are duplicate extensions names, even when the versions are different and one is incompatible?

The only scenario I see after that is an extension changing its name and another extension popping up with the same name as what that extension had previously, which would effectively make the user get something else than what they wanted. I find this unlikely too.

fiftydinar commented 4 weeks ago

Can’t the module be made to error every time there are duplicate extensions names, even when the versions are different and one is incompatible?

I can do that too, while telling the user to input PK in recipe file instead if this happens.

fiftydinar commented 3 weeks ago

@xynydev PR is now ready, please read the updated 1st post, especially "Status".