kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #43372
Re: macos notarization status
-
To:
Adam Wolf <adamwolf@xxxxxxxxxxxxxxxxxxxx>
-
From:
Bernhard Stegmaier <stegmaier@xxxxxxxxxxxxx>
-
Date:
Mon, 3 Feb 2020 16:59:16 +0100
-
Arc-authentication-results:
i=1; mail.sw-systems.de; none
-
Arc-message-signature:
i=1; a=rsa-sha256; c=relaxed/relaxed; d=sw-systems.de; s=mail; t=1580745557; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=hXGfHsL02n2hqaqUApqPq35VaXAkb9HESJYzxdRcxUo=; b=I+B1FPj3b6sK38IZWcBFyCyugaBxEc6AIhcQpRL6ifY27++5BbEv71N8+cTi3xeEAIve4N /yTw0IgeDPBbz4f8+2Zq3WcrO7ay6FwVu1fE1CLKRO92CO80RilrRXM/CHlBjghlc+bnOn o6NFmaIZCElg+hMcQWrmzPLZ9uSbtis=
-
Arc-seal:
i=1; s=mail; d=sw-systems.de; t=1580745557; a=rsa-sha256; cv=none; b=mXf+5TRzanjqo6gdZhA46FsyPTiTHM7ZktXUfm5TV5Sbw3EFFMfCb4BdgOa3dzfbQd2eHU Zdi4IRbUdTNUzF3SBRdkPT7JhgpdNC/NoxtSm2tHNvF65A+egLL7UYC8xG8z8CwxeYV6Qn IC7zoUf07rYYMUaFgRI/8JC7/xK+Ftc=
-
Cc:
KiCad Developers <kicad-developers@xxxxxxxxxxxxxxxxxxx>
-
In-reply-to:
<CAJXA3hQ05VCJLQ2E8qFw+PYpTzOUwB+_iSizB7qiqMpchJ_c-A@mail.gmail.com>
OK, I see… this is weird.
My understanding from what I read in the documentation was, that it should sign everything in the top-level bundle (kicad.app) including sub-apps you might have in kicad.app/Contents/Applications.
Regards,
Bernhard
> On 3. Feb 2020, at 16:47, Adam Wolf <adamwolf@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> I am not notarizing the DMGs. While this is possible, it has not been
> necessary so far.
>
> When I tried notarizing kicad.app but not the others, when I move to a
> new computer, it complains that eeschema.app is not notarized.
>
> The problem is not putting the signed kicad.app into an unsigned dmg.
>
> On Mon, Feb 3, 2020 at 8:11 AM Bernhard Stegmaier
> <stegmaier@xxxxxxxxxxxxx> wrote:
>>
>> Hi Adam,
>>
>> I am also no fan of the symlinks, but having a different approach will
>> be probably some work.
>>
>>> I had someone ask if what we do would work during WWDC and I was told
>>> it would not work. I consistently get "the signature is invalid" when
>>> signing while we have symlinks, and when I remove the symlinks and
>>> just sign KiCad.app this error goes away.
>>
>> I don't doubt that the symlinks in the DMG don't work.
>> What you explained is exactly what I had in mind:
>> (1) Sign *only* kicad.app as is. No complete DMG with symlinks or
>> whatever.
>> (2) Create DMG with previously signed kicad.app and symlinks, libraries
>> and whatever you put into. Don't try to notarize this DMG, DMG is just
>> a container.
>>
>> Doesn't that work?
>> kicad.app is signed and the DMG should just acts as some kind of zip
>> file then... ?
>>
>> If the problem is putting the signed kicad.app into a (unsigned) DMG,
>> maybe just distributing via .zip would be also a viable way meanwhile?
>> Many other applications also do this...
>>
>>
>> Regards,
>> Bernhard
>>
>> Am 3.2.2020 14:46, schrieb Adam Wolf:
>>> Bernhard,
>>>
>>> I have no personal vendetta against the symlinks.
>>>
>>> I had someone ask if what we do would work during WWDC and I was told
>>> it would not work. I consistently get "the signature is invalid" when
>>> signing while we have symlinks, and when I remove the symlinks and
>>> just sign KiCad.app this error goes away.
>>>
>>> I am not sure if Apple gives themselves special entitlements that mere
>>> mortals don't get. I'm not sure if I'm just not able to get it to
>>> work.
>>>
>>> Nothing I have done so far relies on the symlinks going away, so if
>>> you think you can make it work, please let me know.
>>>
>>> My personal suggestion for working around the symlinks issue was not
>>> to just copy things, but rather just have a single KiCad.app that
>>> would open itself in different ways of given a different type of file,
>>> but others on the bug tracker preferred trying to copy things first.
>>>
>>> Frankly, it's exhausting spending all this time on things that users
>>> don't see, when there are so many interesting fun things we could be
>>> working on instead.
>>>
>>> In terms of what I am signing and notarizing, I have tried signing and
>>> notarizing the app, the dmg, all the apps, basically every
>>> combination. Apple's rules are extremely fickle here, and you could
>>> even notarize unsigned things. They explicitly say the rules about
>>> what you can notarize are hidden from developers!
>>>
>>> Adam
>>>
>>> On Mon, Feb 3, 2020, 1:08 AM Bernhard Stegmaier
>>> <stegmaier@xxxxxxxxxxxxx> wrote:
>>>
>>>> Hi Adam,
>>>>
>>>> I still don’t get it:
>>>>> Our current
>>>>> strategy of symlinking into the kicad.app bundle does not work
>>>> with
>>>>> macOS signing.
>>>>
>>>> Xcode has e.g. Instruments application in
>>>> Xcode.app/Contents/Applications/Instruments.app
>>>> If I symlink it (for example) to
>>>> /Applications/Instruments.app
>>>> It runs without any complaints when started via the symlink.
>>>>
>>>> What do you notarize?
>>>> The overall dmg with the symlink?
>>>> Have you already tried to only notarize kicad.app (no dmg, no
>>>> symlinks) and put it into the dmg with symlinks afterwards?
>>>> Another quick fix could be some script that can be run to create the
>>>> symlinks on user machine?
>>>>
>>>> A simple copy of the apps won’t work.
>>>> You need to change everything wrt shared libraries in KiCad code and
>>>> cmake script.
>>>>
>>>> In the end, you will duplicate all libraries and support stuff.
>>>> Probably not a big deal for eeschema and the other small apps, but I
>>>> guess for pcbnew.
>>>> Means duplicating all the python, nags-ice, etc. stuff.
>>>> And also, all stuff like templates, scripts, etc.
>>>> Users shouldn’t fiddle around in the .app, but could get really
>>>> messy if they now put (template, python, spice?) stuff in kicad.app
>>>> or pcbnew.app and then something doesn’t work in one or the
>>>> other...
>>>>
>>>> Regards,
>>>> Bernhard
>>>>
>>>>> On 3. Feb 2020, at 02:00, Adam Wolf
>>>> <adamwolf@xxxxxxxxxxxxxxxxxxxx> wrote:
>>>>>
>>>>> Hi folks!
>>>>>
>>>>> Apple is changing how the lack of notarization looks like to users
>>>> on
>>>>> Catalina starting tomorrow. It is not clear what will happen when
>>>>> folks download new versions of KiCad after tonight.
>>>>>
>>>>> For the past two months I've been working hard--I've got a tech
>>>> demo
>>>>> locally here that has signatures and notarization on macOS, but
>>>> it's
>>>>> not ready for primetime. For instance, I have removed the other
>>>> .apps
>>>>> and just have kicad.app. There's changes I made to kicad that
>>>>> probably belong in kicad-mac-builder--and, well, let's just say
>>>> it's a
>>>>> tech demo :)
>>>>>
>>>>> The main things that remain are:
>>>>> 1) Figure out a good solution for the symlinked .apps. Our
>>>> current
>>>>> strategy of symlinking into the kicad.app bundle does not work
>>>> with
>>>>> macOS signing. I think the current contender is to copy instead
>>>> of
>>>>> symlink. I am not sure how much extra space that will take up but
>>>>> it's a good try. This is definitely something I can do, but since
>>>>> it's something that can be done on its own, it's a prime contender
>>>> for
>>>>> someone looking to help out.
>>>>>
>>>>> 2) Another issue is that there are strict rules about where in the
>>>>> bundle code, data, and executable non-Mach-O files live. For
>>>>> instance, one of the signing blockers is ngspice, because it
>>>> mingles
>>>>> scripts and Mach-O binaries and then we put them in
>>>> Contents/Plugins.
>>>>> For more details, see
>>>>>
>>>>
>>> https://developer.apple.com/library/archive/technotes/tn2206/_index.html#//apple_ref/doc/uid/DTS40007919-CH1-TNTAG201.
>>>>> The big change for KiCad itself is where the Python scripts are
>>>>> stored--I've fixed this in my branch, but now I have to go through
>>>> and
>>>>> audit and fixup our partner packages, like OCE/OCC and ngspice.
>>>> If
>>>>> you want to help with this, it's going to be a big job but I'm
>>>> willing
>>>>> to put in the time to teach if you're willing to put in the time
>>>> to
>>>>> learn :)
>>>>>
>>>>> I was really hoping I could get this done before Apple turned up
>>>> the
>>>>> enforcement on notarization, but that's going to happen. After
>>>>> tomorrow, it'll be clearer what Apple is doing. There might be
>>>> some
>>>>> quick changes to make that will improve things for our users
>>>> without
>>>>> getting all of this done.
>>>>>
>>>>> Adam Wolf
>>>>>
>>>>> _______________________________________________
>>>>> Mailing list: https://launchpad.net/~kicad-developers
>>>>> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>>> More help : https://help.launchpad.net/ListHelp
References