Skip to content

Commit

Permalink
sapling getdeps cli build and test support for python 3.12
Browse files Browse the repository at this point in the history
Summary:
Ubuntu 24.04 and Fedora 40 are both python 3.12 based.  Update sapling's OSS getdeps build to allow build/run/test on python 3.12 while keeping 3.10 support.

* distutils is deprecated in python 3.12 stdlib, but fortunately setuptools is pretty similar and includes a vendored distutils, so:
  * added a manifest so we get python3-setuptools installed.
  * setup.py: removed deprecated usage like `find_executable` in favor of `shutil.which()`, also removed some super old xcode 4/5.1 detection I found
* util.py makedate():  datetime.utcfromtimestamp is deprecated in 3.12, so updated to use non-deprecated methods. Tested with test-command-template.t which shows tz offset.
* Makefile: disabled test-eager-exchange.t on 3.12 where updating the expectation to run on 3.12 and 3.10 is tricky (debug output differs)
* tests modified to run on 3.12 and 3.10:
  * test-import-eol.t:  updated for invalid escape sequence warnings
  * test-install.t: updated to filter out message that appears in different order on 3.12 vs earlier versions
  * test-merge-driver2.t: match different debug output in 3.12, remove check for mercurial package
  * test-sign-commit.t: updated to add --yes for newer gpg that python 3.12 using distros have
* found some tests needed bunzip2, so update manifest for sapling and bz2 to install it

X-link: facebook/sapling#964
X-link: facebookincubator/zstrong#1005

Reviewed By: quark-zju, singhsrb

Differential Revision: D63958742

Pulled By: ahornby

fbshipit-source-id: 460c42eb1315f2e1631c74d356e4976469104c1b
  • Loading branch information
ahornby authored and facebook-github-bot committed Oct 11, 2024
1 parent e1864b9 commit 5573286
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 0 deletions.
2 changes: 2 additions & 0 deletions build/fbcode_builder/manifests/bz2
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,14 @@ name = bz2

[debs]
libbz2-dev
bzip2

[homebrew]
bzip2

[rpms]
bzip2-devel
bzip2

[download]
url = https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz
Expand Down
9 changes: 9 additions & 0 deletions build/fbcode_builder/manifests/python-setuptools
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,12 @@ sha256 = 02fa291a0471b3a18b2b2481ed902af520c69e8ae0919c13da936542754b4c56

[build]
builder = python-wheel

[rpms]
python3-setuptools

[homebrew]
python-setuptools

[debs]
python3-setuptools
1 change: 1 addition & 0 deletions build/fbcode_builder/manifests/sapling
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ hexdump

[dependencies.not(os=windows)]
python
python-setuptools

# We use the system openssl on linux
[dependencies.not(os=linux)]
Expand Down

0 comments on commit 5573286

Please sign in to comment.