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
Introduce additional versioning information for casks #17077
Comments
Tagging @Homebrew/cask. |
What would be the benefit for Homebrew to do this? I see "This makes it difficult to deal with issues like #17051 and prevents us from implementing audits that check the cask version agains the distributed version.", but it is unclear to me why we would want to compare those versions. It is my understanding that this only works for app type installs, and that there is no real check for developers that these versions need to make sense. AFAIK I can make an app with |
The main case that's somewhat obvious to me: have All the |
Yeah, that one makes sense to me, although that wouldn't really need DSL changes right? We could just enforce that the first part of the version should always be the "real version" |
I can't confidently speak to the quantity, but some applications maintain the same "version", but will increase build number, or another iteration, where comparing the |
Wouldn't need DSL changes but might want a new DSL to adjust behaviour here rather than assuming all casks are consistent.
@bevanjkay That's fine unless you think the vast majority of casks do this (which I don't think they do). There will always be exceptions and making things better for some casks but not all is worth it IMO. This does again point to perhaps a need for a DSL to handle this inconsistency, though. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
Verification
brew install wget
. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.Provide a detailed description of the proposed feature
Precise naming of the DSL aside, I'm opening this to discuss introducing additional versioning information for casks.
We would introduce an additional DSL/modify existing DSLs to record the canonical cask version (
CFBundleShortVersionString
). In situations where we need additional information to resolve the download URL, they should be recorded separately. This could look like this:or, assuming
CFBundleShortVersionString
is3.0.5
, but the url link uses a build number1321321
However, all casks would be stored under their canonical version.
What is the motivation for the feature?
Currently, we structure our cask versions to include all the strings that change between and are necessary to build a download URL. This sometimes leads to nonsensical versions (e.g.,
version "0.69.2,f2822fbb-5d33-41be-90eb-be140fe649b0,0252"
) or versions that are unrelated to the canonical software version.This makes it difficult to deal with issues like #17051 and prevents us from implementing audits that check the cask version agains the distributed version.
How will the feature be relevant to at least 90% of Homebrew users?
Opens door to potential workflow and security improvements for casks
What alternatives to the feature have been considered?
Not implementing the feature, which is also reasonable.
The text was updated successfully, but these errors were encountered: