Summary:
Python loads .so using mmap. Rewriting a .so in-place when there is a Python
process with that .so mmap-ed could crash that Python process. Therefore
let's avoid rewriting the destination .so in-place.
This was discovered by a txnclose Python hook I used to keep binaries
up-to-date. It caused segfault after building the Rust extensions currently
loaded by the Python process running the hook.
Test Plan: `hg push` triggering that txnclose hook won't crash on the remote.
Reviewers: durham, #sourcecontrol
Reviewed By: durham
Differential Revision: https://phabricator.intern.facebook.com/D6686739
Signature: 6686739:1515532516:24c0b7066ff15a39a7bd824e779569f4a886d7df
Summary: Fixes an issue where the build would fail if the directory had not been made.
Test Plan: ./setup.py build works now
Reviewers: mbthomas, #mercurial
Differential Revision: https://phabricator.intern.facebook.com/D6681061
Summary:
Fix up test-check-module-imports, mostly by using absolute imports where
possible.
Also, some lfs errors have been removed, so remove their tests failures too.
Test Plan: Run test-check-module-imports test.
Reviewers: durham, #mercurial
Reviewed By: durham
Differential Revision: https://phabricator.intern.facebook.com/D6679241
Tasks: T24908724
Signature: 6679241:1515457419:2f8683206c8d43af99254c9f75f08af374673c2f
Summary:
Move the rust libraries and extensions to their new locations, and integrate
them with the hg-crew setup.py.
Test Plan: Run `python setup.py build` and verify rust extensions are built.
Reviewers: durham, #mercurial
Reviewed By: durham
Subscribers: fried, jsgf, mitrandir
Differential Revision: https://phabricator.intern.facebook.com/D6677251
Tasks: T24908724
Signature: 6677251:1515450235:920faf40babbce9b09e3283ff9ca328d1c5c51e6