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

Need help implementing outdated verb #9403

Closed
WitzHsiao opened this issue Feb 3, 2015 · 7 comments
Closed

Need help implementing outdated verb #9403

WitzHsiao opened this issue Feb 3, 2015 · 7 comments

Comments

@WitzHsiao
Copy link
Contributor

Hey guys

I wanna implement outdated verb in homebrew-cask.
My idea is getting the version in the Info.plist in the content of apps and comparing with the version of Cask.
And now, I'm wondering how to get the version of Cask not just :latest in some DSL of Casks.
Thanks

@phinze
Copy link
Contributor

phinze commented Feb 6, 2015

Hi @WitzHsiao - great to hear you're interested in contributing!

And now, I'm wondering how to get the version of Cask not just :latest in some DSL of Casks.

Not quite sure what you're asking here. For Casks where we only have an un-versioned URL, the "version" from the perspective of Cask actually is :latest.

So I'm not sure if I understand the strategy you're thinking of attempting here. Maybe if you can elaborate a bit more we can help you out further?

@WitzHsiao
Copy link
Contributor Author

Hi @phinze
Thanks for your reply.
It's quite complicated. Is there a way to get the explicit version before install cask, not just :latest?

@phinze
Copy link
Contributor

phinze commented Feb 8, 2015

Hey again!

A few core maintainers had a meeting in IRC yesterday about next steps for implementing brew cask upgrade, and we decided that I should get a version of brew cask outdated without :latest support implemented. I'm working on that now.

Here I'll push the WIP so you can track my progress if you like: #9490

Sounds like you are interested in figuring out how to tackle :latest Casks, which so far we've decided to punt on. Our initial version of both outdated and upgrade will just refuse to work for :latest Casks.

You're right that for apps with an Info.plist we could parse a version from there, but the problem is that the only way to check for a new version is to download and extract the whole thing again. Maybe you have another approach I haven't thought of though - new ideas are always welcome! 😀

The other thing to mention here is that we have Big Plans for apps that self-update using the Sparkle framework. We plan on cask getting first class knowledge of updates and upgrades for these apps. It will be awesome! ✊

@WitzHsiao
Copy link
Contributor Author

Cool beans!
I will look #9490 up, and see what can I do.
Thanks for your help. 👍

@WitzHsiao
Copy link
Contributor Author

@phinze
My first thought was that remove the :latest in DSL and strictly write down the explicit version. But I saw there are over 800 DSLs are using :latest. is it a good way to do it?

@phinze
Copy link
Contributor

phinze commented Feb 10, 2015

@WitzHsiao All the :latest Casks have that set as the version because the URL they point to is also un-versioned, so there's no way for us to know when the version being served from that URL changes.

So you could theoretically capture all the explicit versions once, but then we'd need a plan for keeping them from drifting.

That's why we are capturing the appcast information, so we can start to support apps that use the Sparkle framework by automatically detecting the version updates they publish. But without a version publishing standard like Sparkle's appcast, you're looking at the prospect of regularly downloading every Cask to detect version changes, which seems too expensive to pursue.

@vitorgalvao
Copy link
Member

@WitzHsiao Do you still need further clarifications, or could we close this?

@vitorgalvao vitorgalvao added the awaiting user reply Issue needs response from a user. label Mar 21, 2015
@adidalal adidalal removed the awaiting user reply Issue needs response from a user. label Apr 12, 2016
@Homebrew Homebrew locked and limited conversation to collaborators May 8, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants