Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drop GVariant support #1144

Open
zeenix opened this issue Nov 13, 2024 · 7 comments
Open

Drop GVariant support #1144

zeenix opened this issue Nov 13, 2024 · 7 comments
Labels
api break gvariant zvariant Issues/PRs related to zvariant crate

Comments

@zeenix
Copy link
Contributor

zeenix commented Nov 13, 2024

As I expressed in #1125:

  • the whole gvariant support is getting too much to handle for me, especially mixed with zbus etc.
  • I've long abandoned the plans of using gvariant as a dbus2 protocol (which was its original intention).
  • gvariant crate exists and not only it is used by ostree folks, it actually lives in the ostree space and seems to be the officially blessed implementation.

So I'm inclined to drop this support in the zvariant 6.0.

@zeenix zeenix added api break gvariant zvariant Issues/PRs related to zvariant crate labels Nov 13, 2024
@zeenix
Copy link
Contributor Author

zeenix commented Dec 15, 2024

  • gvariant crate exists and not only it is used by ostree folks, it actually lives in the ostree space and seems to be the officially blessed implementation.

A bit more context about this: I originally added gvariant support in hopes that ostree folks will use it, since gvariant provides a nice API but seems they went for the gvariant crate, even though (IMO) it has a non-intuitive strange API that is not serde-compatible.


Anyway, another option here would be to split the gvariant support into a separate crate. However, I would not have the time and energy to do that. So if someone wants to take that up, please go ahead and let me me here.

@bilelmoussaoui
Copy link
Contributor

A bit more context about this: I originally added gvariant support in hopes that ostree folks will use it, since gvariant provides a nice API but seems they went for the gvariant crate, even though (IMO) it has a non-intuitive strange API that is not serde-compatible.

After testing the gvariant API, it seems really not an alternative to zvariant in it current form.

I will have to look and and see how much effort would take to keep the gvariant format support in-tree by helping keeping it working, if that is a possibility.

@zeenix
Copy link
Contributor Author

zeenix commented Feb 11, 2025

I will have to look and and see how much effort would take to keep the gvariant format support in-tree by helping keeping it working, if that is a possibility.

I feel bad about making you do this. 😔 Tell you what, if ostree would switch to zvariant, I promise to keep the gvariant support and maintain it too.

Is that something you'd want to look into?

@bilelmoussaoui
Copy link
Contributor

Sure

@zeenix
Copy link
Contributor Author

zeenix commented Feb 11, 2025

Sure

Great. I suggest making sure they'll be willing to accept such a contribution before putting any effort into it.

@bilelmoussaoui
Copy link
Contributor

actually now that i checked the ostree repository, it doesn't seem to use the gvariant crate anywhere. Or you were talking about flat-manager which manipulate an ostree repo gvariant format manually in https://github.com/flatpak/flat-manager/blob/master/src/ostree.rs?

@zeenix
Copy link
Contributor Author

zeenix commented Feb 11, 2025

actually now that i checked the ostree repository, it doesn't seem to use the gvariant crate anywhere.

I was referring to the only dependent of gvariant on crates.io, called ostree-ext but seems it has been moved into the bootc project:

https://github.com/containers/bootc/tree/main/ostree-ext

It does still use the gvariant crate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api break gvariant zvariant Issues/PRs related to zvariant crate
Projects
None yet
Development

No branches or pull requests

2 participants