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

Migrator for xorg-*proto to xorg-xorgproto #3360

Open
jakirkham opened this issue Dec 9, 2024 · 19 comments
Open

Migrator for xorg-*proto to xorg-xorgproto #3360

jakirkham opened this issue Dec 9, 2024 · 19 comments

Comments

@jakirkham
Copy link
Contributor

jakirkham commented Dec 9, 2024

Packages matching xorg-*proto (excluding xorg-xorgproto) are deprecated

Users are recommended to migrate to xorg-xorgproto

One exception to the above is xorg-xcb-proto, which is also deprecated, but should instead be replaced by xcb-proto

The linter now warns about this situation:

Would it make sense to put together a migrator of some kind to manage this transition with the bot?

@hmaarrfk
Copy link
Contributor

hmaarrfk commented Dec 9, 2024

There are a few other proto packages that can be caught by the migrator.
https://github.com/search?q=org%3Aconda-forge+xorg-+proto+language%3AYAML&type=code&l=YAML

once the core logic is in, then a cursory search through the first few pages might expand the ability to catch even more.

@hmaarrfk
Copy link
Contributor

hmaarrfk commented Dec 9, 2024

  • xorg-xineramaproto
  • xorg-xproto
  • xorg-xf86vidmodeproto
  • xorg-xextproto
  • xorg-glproto
  • xorg-inputproto
  • xorg-kbproto

@jakirkham
Copy link
Contributor Author

Should we add linter hints for those as well?

@hmaarrfk
Copy link
Contributor

hmaarrfk commented Dec 9, 2024

i mean we could, but its somewhat "low importance". Don't we already have a migrator for package renaming?

we could migrate all the proto packages that we find in: https://conda-forge.org/packages/

@jakirkham
Copy link
Contributor Author

Am not aware of an existing migrator. Hence the issue raised here to add one

At least currently see issues with clobbering when trying to install some packages from conda-forge. That would be nice to fix

@hmaarrfk
Copy link
Contributor

hmaarrfk commented Dec 9, 2024

yeah i misremembered sorry. it was the whole piggyback minimigrator stuff and complications...

@jakirkham
Copy link
Contributor Author

So in general are we just want to migrate xorg-*proto to xorg-xorgproto?

@hmaarrfk
Copy link
Contributor

hmaarrfk commented Dec 9, 2024

correct.

@jakirkham jakirkham changed the title Migrator for xorg-xextproto & xorg-xproto to xorg-xorgproto Migrator for xorg-*proto to xorg-xorgproto Dec 9, 2024
@jakirkham
Copy link
Contributor Author

Thanks Mark! 🙏

Updated the issue to reflect this

@jakirkham jakirkham changed the title Migrator for xorg-*proto to xorg-xorgproto Migrator for xorg-*proto to xorg-xorgproto Dec 9, 2024
@jakirkham
Copy link
Contributor Author

Should we add linter hints for those as well?

Extended the hints to these packages and anything else referencing xorg-*proto except xorg-xorgproto

xref: conda-forge/conda-forge-pinning-feedstock#6816

@hmaarrfk
Copy link
Contributor

see conda-forge/conda-forge-pinning-feedstock#6822 for how to implement such a migrator.

@jakirkham
Copy link
Contributor Author

Think we would also need bot changes

For example: #3375

@hmaarrfk
Copy link
Contributor

yes i shared the "link" above as a thread for somebody to pull on in case they were so inclined to implement things!

@mgorny
Copy link
Contributor

mgorny commented Mar 10, 2025

I think we should combine all existing package migrators (found at least JpegTurboMigrator, QtQtMainMigrator and XzLibLzmaDevelMigrator) to a single class with a package mapping. Right now they're pretty identical.

@beckermr
Copy link
Contributor

Those migrators get applied to only some migrations and not others. We can have a single class, but we need to instantiate separate objects for each one with specific migrations in mind.

@mgorny
Copy link
Contributor

mgorny commented Mar 10, 2025

Yeah, I see that now. Sorry, was still reading through the code. So yeah, I feel like a shared base class with the common logic should streamline things a bit.

@beckermr
Copy link
Contributor

beckermr commented Mar 10, 2025

It is likely we only need a single class and not child classes. For example, the Replacement migrator is customized on instantiating as opposed to making new child classes.

@mgorny
Copy link
Contributor

mgorny commented Mar 10, 2025

Oh yes, looks like Replacement is pretty much what we need for "simple" cases. Though in case of xorg-*proto, we would probably want to deduplicate somehow.

@mgorny
Copy link
Contributor

mgorny commented Mar 10, 2025

Oh wait, Replacement is a "big" Migrator, whereas these are MiniMigrators.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants