Keep symlinks when copying into .app bundle #5024

pull gavinandresen wants to merge 1 commits into bitcoin:master from gavinandresen:osx_sign_fix changing 1 files +5 −5
  1. gavinandresen commented at 2:44 PM on October 1, 2014: contributor

    I need this change for the current OSX code-signing process, which looks like:

    1. Deterministically gitian-build an .osx.tar.gz
    2. Extract the .dmg and then the .app from the .dmg
    3. Re-run macdeployqtplus -sign using the extracted, deterministic .app to create a code-signed app inside a .dmg that is actually released.

    Step 3 broke with OSX 10.9.5, because symbolic links inside the .app were not preserved. This fixes that. @laanwj : this should be cherry-picked to the 0.9.3 branch in case there is a 0.9.4.

    The plan is to change the code-signing process to something like:

    1. Code-signer gitian builds first, producing a .osx.tar.gz that has a .dmg that is signed.
    2. Everybody else uses the signatures produced in (1) as an input to the gitian-building process and verifies that end results match.
  2. Keep symlinks when copying into .app bundle
    Code signing failed for me on OSX 10.9.5 because the
    Versions/Current symbolic links were being replaced
    with a duplicate copy of the frameworks' code.
    
    Releases were bigger than they needed to be, for the
    same reason.
    965c306d6d
  3. theuni commented at 9:34 PM on October 1, 2014: member

    Ok, I see why I couldn't reproduce this. Fwiw, the change looks fine. @gavinandresen I'm not sure why there's a need for step 3. With the previous 0.9.x behavior, the bundle was not created in the proper format, so a newer version of macdeployqtplus needed to be used in order to rebuild it. So it made sense then.

    Now that the bundle is being created correctly in the first place (I hope!), all that should be needed is a "codesign ..." on the bundle. Is there a reason I'm missing for re-running macdeployqtplus?

    Shouldn't matter either way though, one we integrate the signing into gitian.

  4. gavinandresen commented at 9:40 PM on October 1, 2014: contributor

    @theuni : step 3 is needed to re-create a disk image -- the .dmg files are created as read-only-when-mounted, I can't codesign the .app in the mounted .dmg and unmount. At least, I don't think I can. If I'm wrong, tell me the magic incantation....

  5. theuni commented at 10:13 PM on October 1, 2014: member

    Ok, that makes sense. I'm pretty sure you've had to remind me of that a few times now...

    ACK on the changes. I'll try to get the Gitian signer up and running sooner than later.

  6. gavinandresen referenced this in commit 35eaa6b457 on Oct 1, 2014
  7. gavinandresen merged this on Oct 1, 2014
  8. gavinandresen closed this on Oct 1, 2014

  9. laanwj commented at 7:04 AM on October 2, 2014: member

    Cherry-picked into 0.9.3 as ffab1dd

  10. MarcoFalke locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-02 15:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me