<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class=""><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class=""><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif; color:rgba(127, 127, 127, 1.0);" class=""><b class="">From: </b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class="">Nathaniel W Griswold <<a href="mailto:nate@manicmind.earth" class="">nate@manicmind.earth</a>><br class=""></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class=""><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif; color:rgba(127, 127, 127, 1.0);" class=""><b class="">Subject: </b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class=""><b class="">Re: codesigning and app permissions for programs that need filesystem access</b><br class=""></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class=""><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif; color:rgba(127, 127, 127, 1.0);" class=""><b class="">Date: </b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class="">24 April 2021 at 17:49:22 CEST<br class=""></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class=""><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif; color:rgba(127, 127, 127, 1.0);" class=""><b class="">To: </b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class="">MacPorts Developers <<a href="mailto:macports-dev@lists.macports.org" class="">macports-dev@lists.macports.org</a>></span></div>I guess my intent in asking this was to ask: does macports ever ad-hoc codesign packages? Is there ever a case that is necessary? Googling didn’t yield much discussion about it.<br class="">The reason i asked the question is because i couldn’t get the specific port i was using to work as it did before i upgraded it without a manual codesign.<br class="">Thanks<br class="">Nate<br class=""></div></blockquote><div class=""><br class=""></div><div class="">You wrote "<i class="">i upgraded it without a manual codesign</i>"</div><div class="">I am working on scientific apps that I codesign manually since I cannot build Xcode projects (e.g. no Xcode integration of Intel Fortran) .</div><div class="">These apps have multiple auxiliary binaries, embedded bundles and even use shared memory.</div><div class=""><br class=""></div><div class="">I found that codesiging is not always easy but is not to much of a problem. The next step is the notarization which is not too difficult.</div><div class="">Publishing to the App Store is much more challenging because of the sandbox. I succeeded for some and failed for others.</div><div class="">In fact Apple’s error messages often lack clarity, are often misleading or even wrong.</div><div class=""><br class=""></div><div class="">Stackoverflow is often helpful if you stick to Xcode, much less otherwise.</div><div class="">"RB App Checker Lite.app” was very helpful but it stopped working with Big Sur. Unfortunately enough, the developer won't upgrade the app due to personal problems. For those who want to manually sign applications, this is clearly a missing tool.</div><div class="">I recently tested “App wrapper.app” <<a href="https://ohanaware.com/appwrapper/" class="">https://ohanaware.com/appwrapper/</a>> and found it very helpful too. I have my own scripts for cleaning up bundles, codesigning, binary hardening, notarizing, sandboxing (pfffff !) which help me understand the detail of the process. However “App wrapper.app” helped me locate odd problems such as a file that had no LC_UUID.</div><div class=""><br class=""></div><div class="">All this requires a lot of terminal commands, parameters and whatsoever hard to memorise, thus I documented my findings in some messy pages:</div><div class=""><a href="https://www.ill.eu/about-the-ill/contacts/public-relations/afilhol/development" class="">https://www.ill.eu/about-the-ill/contacts/public-relations/afilhol/development</a></div><div class=""><br class=""></div>I wrote this just in case this may interest some other developpers.</div><div>In fact, the main difficulty is not having contact person with which you can share problems.</div><div><br class=""></div><div>Alain</div><div class=""><div dir="auto" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class="Apple-interchange-newline">—————————————</div><div dir="auto" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Dr. Alain Filhol  (Computer scientist)<br class="">Institut Laue-Langevin<br class="">EPN Campus, CS 20156, 71 ave des Martyrs, F-38042 Grenoble cedex 9<br class=""><<a href="mailto:filhol@ill.eu" class="">filhol@ill.eu</a>>, Office: ILL19-206<br class="">Tel:+33 4.76.20.71.56, Fax: +33 4.76.20.76.48</div>
</div>
<br class=""></body></html>