-
Notifications
You must be signed in to change notification settings - Fork 238
Add macOS signing changes #1856
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
Conversation
ann0see
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you very much! See my comments.
|
What would be the cost of obtaining such a certificate specifically for the Jamulus project? |
You'd need to join the apple dev program at an annual cost and then create the certs. From what I can tell, someone has already used the id somewhere in the apple ecosystem - which is why I changed it to io.jamulus.* |
|
I think it’s $99/year? |
Yup, US is my understanding. If you set that up then I can do the rest for you. |
|
I think there was a discussion about the financial part in the iOS post? But as soon as money gets involved, the project might have a different legal status. I‘m not sure what this means for us as I‘m not a lawyer. We‘re all from different countries so it might be even more complicated. |
The one with llcon in it would most likely have been Volker, sometime in the past. The name was changed from llcon to Jamulus in 2013, from what I can see, but the llcon part lived on, maybe to do with SourceForge. All before my time! |
Yes, I’m not sure either. I’ve had several requests to donate from people who are so grateful for Jamulus. We already need to fund the jamulus.io domain. Needing a Mac cert too would probably make it worthwhile getting something set up? But there must be other projects that have trodden this path already. |
|
You can have open-source projects and money involved. Ubuntu is a great example. In terms of getting it all automated with the build script, I think there's a way to do that too - I'll be digging into that with GitHub. |
|
Of course commercial and FLOSS do work together. Paying for certs, hosting,… is ok and totally valid. But I strongly object
But that’s part of #647 |
|
Totally agree! |
Remove hard-coded certificate name
|
Almost ready, I think? Did anybody already add you as contributor in the app? |
… RC_FILE (used in deploy_mac.sh)
Yes, I'm there from last time :) I have made a couple more changes and I think we're at a good place now. I have been able to publish to the Mac App Store too, so that is ready to go. Maybe we do it with the next official release? |
|
Great! Thank you. I think - to be sure and at least in parts secure - we should add something like this: https://github.com/nextcloud/ios/blob/master/COPYING.iOS to the license. Actually, I'd appreciate if at least Volker (who's not around anymore) gave his ok on the App Store publishing. |
|
How do I rerun the failed job? I see no reason that the pushed change would cause the build to fail for windows. |
|
Just restarted it for you. Something is wrong on Windows. C:\Users\runneradmin\AppData\Local\Temp\tmp113D.tmp.zip
48 51
54
55 |
Is the windows build machine missing something? |
|
I think it’s a temporary problem. Maybe it works now. |
|
It must be something on this branch. #1867 is working, for example. |
|
It works now. So the only missing things before a merge are:
|
I added a change log entry |
|
@ann0see Do you know or have an idea as to what is causing the GitHub jobs to be cancelled? |
|
Is there some limit of builds we've hit? Space limits? That's all I can think of. |
ann0see
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Didn't test it yet since I don't have a signing cert. Will this work with a normal 7-day free development certificate?
|
So should this be squash&merged or would we do a normal merge? |
Best to squash I think, no need to keep the 'tween state. |
|
@softins since you have a mac available, could you please test this PR? |
Sure. Just catching up after being on holiday, so will do so over the next day or two. |
|
OK, I'm not sure what I'm supposed to test and see here, so this is what I've done:
I had assumed that the artifact from this PR would be signed by Emlyn's certificate and would therefore run without this warning. Was I incorrect? Does the app actually need to be fetched from the App store to have its certificate recognised and bypass that warning? How can I view the signing status of an app? |
|
Verify code sign with ‘ codesign --verify --verbose=4 deploy/Jamulus.app’ But the version built has not been signed: you need the linked version to the PR for that |
Thanks.
Maybe I didn't explain my steps well above. I did install the linked version to the PR, if you mean the one found under "Checks" and then looking for "Artifacts". Here are my results: This is the one I just built, and I don't have a cert, so would expect it not to be signed. This is my installation of the 3.8.0 released This is my installation from the This is the one I installed from the Is there something I haven't understood? |
|
In fact, looking more closely, I can see that although |
|
Yes. I think @emlynmac will just sign it manually on his Mac. The only thing missing here was a functionality test - which you did. |
Correct - the change is to enable the signing. I have the certificates locally in my keychain. I had made a build with the signed assets, indeed there is a version awaiting deployment the Mac app store too. There were some links to signed files which ann0see was looking at - but I don't see those any longer. I'm not at home today so I don't have access to my catalina Mac to do a signed build for you. Automated signed builds will be something that I need to sort out on my GitHub account I think, but for now they're manual. |
softins
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, happy to approve, then. :)
|
CHANGELOG: Enable signing of macOS binaries via build script |
|
@emlynmac could we move the Jamulus.entitlements file into the mac folder to clean up the repo root? |
In order to give Mac users a better install experience, I've modified the build script to have an optional signing step, using:
./mac/deploy_mac.sh -s <cert_name>#1851 for more details.
For now, I'll build the signed version manually otherwise we need to figure out a secure means to store the certificate / private key that I use to sign it.