Add macOS signing changes #1856
Conversation
ann0see
left a comment
There was a problem hiding this comment.
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.
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.
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.