-
Notifications
You must be signed in to change notification settings - Fork 223
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
Consider hosting binaries on Github #11
Comments
Thanks for the suggestion. I live in stone age and am still using macports, and not familiar with homebrew I have to shamefully admit :p Where can I learn the basics of homebrew, in particular the code-sign guidelines for the released binaries? As for the server, it's the website of the university I permanently work on, so it should be pretty long-lived (in fact it's slightly older than GitHub itself ...) |
@yujitach what do you mean by the "code-sign guidelines for the released binaries"? Are you referring to the OS X code signing described here? If so, I don't think that is required for Homebrew Cask installation. Your current binaries are working just fine via Homebrew Cask. In any case, if you'd prefer to host the binaries on your university's server that's all fine and good. I was just suggesting a free and zero maintenance option but sounds like you might already have those two attributes taken care of 😄 |
Well the binary on the other website is signed by my paid-developer certificate so that it's accepted by anybody's mac. But the certificate and the signing process is intentionally left out from the public code on the github. Anyway, it's a good time for me to learn how to use homebrew, thanks for the suggestion. |
Ah, that part was "magic" to me. You can just take your binary and upload/attach it to the github release using github's web UI. That's all I did. Nothing magic from me. |
It might help things crystallize by being clear about the distinction between the core Homebrew project and Homebrew Cask. Homebrew helps download and build packages from source, and as you suspect, these packages (or their precompiled "bottles") are not typically code signed. Homebrew Cask, on the other hand, automates the action of downloading official binaries of Mac apps, and moving them to an "installed" destination (in this case, You can, of course, host your compiled and signed binaries anywhere you like. GitHub's Releases just happen to have some nice properties: they're tied to a tag in Git that clearly marks the source they're derived from, served over TLS, accompanied by release notes, and hosted on infrastructure that may offer higher bandwidth and availability than your university's server. |
Thank you for the clarifications, @ranek. Let me ask one more: as my El Capitan port is hosted on GitHub, isn't it more reasonable to put it to as an entry in Homebrew, instead of as an entry in Homebrew-cask? |
That's a great question. Homebrew's policy is to focus on command line tools and libraries. See Acceptable Formulae for more details. |
Ah, thanks for explaining it. |
Thanks for the brew-cask command line, @jalessio – work great, and seems to have picked up my old (I was just about to shell out $18 for iStatMenu.) |
+1 for hosting the binaries on GitHub Releases. It doesn't appear that |
+1. Thanks! |
+1 |
I would just add this key homebrew cask info to the repo description so it's right there. Thanks a ton for this! |
I decided to put the releases on the GitHub too: https://github.com/yujitach/MenuMeters/releases . Thank you for complaining to me. |
For more reliable and persistent hosting you might want to consider hosting the binaries using Github's "Releases" feature. This is a very common practice for packages distributed via homebrew-cask:
Here's a set of examples from the files found in https://github.com/caskroom/homebrew-cask/tree/master/Casks
I created an example release in a fork of this repo using the
1.9.1
tag and uploaded the zip file found here which results in the same file available here:https://github.com/jalessio/MenuMeters/releases/download/1.9.1/MenuMeters_1.9.1.zip
Here's the "releases" page:
https://github.com/jalessio/MenuMeters/releases
And here's a proposed corresponding change to homebrew-cask to adjust to the new URL (just remove the
jalessio
part to switch it over to your repo):jalessio/homebrew-cask@60b8e52
This is not essential, but removes the need to host the file yourself (see #7) and provides a long-lived location for all versions of the files. Thanks!
The text was updated successfully, but these errors were encountered: