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

Support updating tools #74

Open
Tinche opened this issue Feb 14, 2015 · 2 comments
Open

Support updating tools #74

Tinche opened this issue Feb 14, 2015 · 2 comments

Comments

@Tinche
Copy link
Contributor

Tinche commented Feb 14, 2015

Ok, the Twitter website just crashed my Firefox while I was in the middle of writing this up, so this writeup is gonna be shorter. :p

Some tools can update themselves - stuff from PPAs, JetBrains, Eclipse, Android stuff I think. This doesn't concern these tools.

Some tools can't, like go-lang and probably any other language support we add in the future. We should have an upgrade workflow for these tools.

Actually upgrading the tools should be easy due to our policy of always getting the latest upstream - remove&install. What we should improve is the way users know what needs to be updated.

A subset of our tools should support reporting the version of a tool back. So when we install a tool, the version goes into the config file.

Then users can ask umake - list all tools that have updates. We go through all installed tools from the config file, check if their modules support versioning. If they do, fetch latest upstream version, compare with the current version (if current version is missing, because the tool was installed before we added support for versions, flag as 'update available') and list everything that can be updated.

@didrocks
Copy link
Member

The short version was good as well.

Agreed with what I had in my head:

  • we should let tools that can autoupdate deal with the user directly and not interfering into that flow (as of today).
  • we should have a way to propose updates for other platforms we support. I wonder though how can we ensure the update will be successful, like if there are some update scripts requires (it happens quite a lot already on the desktop, we workaround this with services like session-migration). How can we spot and test that with real use case scenario as this can be buried in some options Y that is only for smoe user? Optionally, how can be able to rollback (knowing that some configuraiton file may have been upgraded to latest version, and not being compatible with older)?

Maybe I'm trying to overcomplexify it and we should just compare version, hope for the best, what do you think?

@SkoZombie
Copy link

Can I suggest implementing just a simple wrapper for umake --remove $X $Y && umake $X $Y, while keeping the old install directory, just to make it simpler for users?

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

No branches or pull requests

3 participants