D6846: packaging: script the building of a MacOS installer using a custom python

mharbison72 (Matt Harbison) phabricator at mercurial-scm.org
Fri Sep 13 18:37:37 EDT 2019

mharbison72 added a comment.

  In D6846#100478 <https://phab.mercurial-scm.org/D6846#100478>, @mharbison72 wrote:
  > This seems to work (though the shebang line hack is painful)- until the original python build directory is deleted.  Then a lot of things complain about unsupported hash type for md5 and sha{1,224,256,384,512}.  Other modules like `json` can be imported with the installed python executable.  I grepped around for the build directory, and it is in a bunch of *.so files (though this could be `__FILE__` for all I know).  Any ideas?
  So, the problem here is that openssl libraries are being built and installed with the temporary install path, and the `_ssl.so` module is expecting to find them there.  I tried a custom Setup.local that statically links `_ssl.so` against openssl before configuring python, but the build summary said dependencies were missing to build `_ssl` (among other things).  For some reason, the resulting build still seemed to be able to talk to https servers.  `help(_ssl)` said it was builtin, whereas `help(_ssl)` on the original build mentioned openssl (IIRC).
  The `_ssl.so` module in the thg app has `@executable_path` in the library name, so that's why that works.  I also tried messing with `@rpath`, but I can't get that working either.  I'm not sure what else to try.

  rHG Mercurial



To: mharbison72, #hg-reviewers
Cc: mercurial-devel

More information about the Mercurial-devel mailing list