r-darwish / topgrade

Upgrade everything
GNU General Public License v3.0
3.36k stars 160 forks source link

Standalone application #833

Closed malys closed 2 years ago

malys commented 2 years ago

Which tool is this about? Where is its repository? internal development Which operating systems are supported by this tool? Windows (mainly for me), but every OS

I want to suggest some general feature I think this feature is not currently supported. We use many times standalone application which binary is downloaded directly from github release because they don't provide installation package (chocolatey, scoop, deb...) It could be interesting to add a list of standalone applications in config.yaml

More information

Thanks for your awesome tool

r-darwish commented 2 years ago

Interesting idea. However, it will be hard to know which version is currently installed without keeping track of it in some sort of database.

MCOfficer commented 2 years ago

Interesting idea. However, it will be hard to know which version is currently installed without keeping track of it in some sort of database.

The naive approach would be to call it with --version and regex the output for a serde version. That would cover perhaps 80, 90% of cases. For more flexibility, we could also let the user choose to

to find the version number.

r-darwish commented 2 years ago

Okay, so I think we should leave this logic to an external tool and let Topgrade run it. I don't mind trying to write this tool by myself when I have some spare time, I wonder who is it that no one already made such tool.

malys commented 2 years ago

I have not found a CLI doing the stuff. There are many examples of commands to do it for github release. example. For me, it could be natural to integrate it in topgrade to have a universal update manager. Moreover, it could be possible to use sha1 of file as versioning.

MCOfficer commented 2 years ago

I have not found a CLI doing the stuff. There are many examples of commands to do it for github release. example. For me, it could be natural to integrate it in topgrade to have a universal update manager. Moreover, it could be possible to use sha1 of file as versioning.

At that point, this is basically scoop. So imo the answer to "why doesnt it exist" is that it does exist on windows, and mac and linux are to a large extent covered by homebrew, official repos and the AUR. (And all the other things topgrade already covers).

Not saying that these cases are invalid, but it makes sense that not many programmers who could make such a thing feel the need for it.

xeruf commented 2 years ago

Yep, on arch you would simply create an AUR package, on other systems a PPA or whatever (though these tend to be harder). I know your issue, but I agree with @r-darwish - create a separate tool and make it run by topgrade, otherwise it stops being a tool that does one thing well - which for topgrade is finding and invoking package managers, not downloading content by itself.

xeruf commented 2 years ago

Actually, I have built a tool that may be able to do this soon, I just never got around to publishing it properly: https://github.com/xeruf/instalee

It can install anything from whatever source available for the current host and given package, which can include github releases and more. If somebody has another naming idea, I'd be all ears ;)

r-darwish commented 2 years ago

Closing this as this is not the scope of Topgrade. I'll add support for an external tool once one with enough popularity will come out

xeruf commented 2 years ago

Just chiming in to mention that instalee is ready for beta-testing if anyone is interested :) @malys https://github.com/xeruf/instalee

I am starting to use it productively now, on servers, desktop machines and even windows devices (ugh!).