| 1 | = Building the Mac client = |
| 2 | |
| 3 | The main instructions are here: |
| 4 | https://github.com/BOINC/boinc/blob/master/mac_build/HowToBuildBOINC_XCode.pdf |
| 5 | |
| 6 | == To notarize the installer and uninstaller == |
| 7 | |
| 8 | Create an app-specific password at https://appleid.apple.com/account/manage. |
| 9 | |
| 10 | {{{ |
| 11 | $ xcrun altool --notarize-app -t osx -f {path to ...macOSX_x86_64.zip} --primary-bundle-id edu.berkeley.boinc.Installer -u {userID} -p {password} |
| 12 | }}} |
| 13 | |
| 14 | After a few minutes, check whether the notarize-app request succeeded: |
| 15 | |
| 16 | {{{ |
| 17 | $ xcrun altool --notarization-info {UUID from last step} -u {userID} -p {password} |
| 18 | }}} |
| 19 | If the notarize-app request succeeded, attach tickets to top level applications: |
| 20 | {{{ |
| 21 | $ xcrun stapler staple {path to "...macOSX_x86_64/BOINC Installer.app"} |
| 22 | $ xcrun stapler staple {path to "...macOSX_x86_64/extras/Uninstall BOINC.app"} |
| 23 | }}} |
| 24 | Delete or rename the original ...macOSX_x86_64.zip} |
| 25 | |
| 26 | Run this ditto command again to create a new ...macOSX_x86_64.zip containing |
| 27 | the updated (notarized) BOINC Installer.app and Uninstall BOINC.app: |
| 28 | |
| 29 | {{{ |
| 30 | $ ditto -ck --sequesterRsrc --keepParent boinc_x.y.z_macOSX_x86_64 boinc_x.y.z_macOSX_x86_64.zip |
| 31 | }}} |
| 32 | replacing x.y.z with the current version number. |
| 33 | |
| 34 | For more information: |
| 35 | {{{ |
| 36 | $ xcrun altool --help |
| 37 | $ man stapler |
| 38 | }}} |