D6846: packaging: script the building of a MacOS installer using a custom python
mharbison72 (Matt Harbison)
phabricator at mercurial-scm.org
Fri Sep 13 22:37:37 UTC 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.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D6846/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D6846
To: mharbison72, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list