Skip to content

Commit

Permalink
- update to boost 1.84.0 with python 3.12.1
Browse files Browse the repository at this point in the history
- adapted unittest cases
- adapted file loading as _Py_wfopen is no longer available in PythonHandler::runScriptWorker()
  • Loading branch information
chcg committed Dec 21, 2023
1 parent 0588292 commit 70c3d04
Show file tree
Hide file tree
Showing 959 changed files with 48,847 additions and 119,221 deletions.
6 changes: 3 additions & 3 deletions PythonLib/full/__future__.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
to use the feature in question, but may continue to use such imports.
MandatoryRelease may also be None, meaning that a planned feature got
dropped.
dropped or that the release version is undetermined.
Instances of class _Feature have two corresponding methods,
.getOptionalRelease() and .getMandatoryRelease().
Expand Down Expand Up @@ -96,7 +96,7 @@ def getMandatoryRelease(self):
"""Return release in which this feature will become mandatory.
This is a 5-tuple, of the same form as sys.version_info, or, if
the feature was dropped, is None.
the feature was dropped, or the release date is undetermined, is None.
"""
return self.mandatory

Expand Down Expand Up @@ -143,5 +143,5 @@ def __repr__(self):
CO_FUTURE_GENERATOR_STOP)

annotations = _Feature((3, 7, 0, "beta", 1),
(3, 11, 0, "alpha", 0),
None,
CO_FUTURE_ANNOTATIONS)
16 changes: 16 additions & 0 deletions PythonLib/full/__hello__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
initialized = True

class TestFrozenUtf8_1:
"""\u00b6"""

class TestFrozenUtf8_2:
"""\u03c0"""

class TestFrozenUtf8_4:
"""\U0001f600"""

def main():
print("Hello world!")

if __name__ == '__main__':
main()
1 change: 0 additions & 1 deletion PythonLib/full/__phello__.foo.py

This file was deleted.

7 changes: 7 additions & 0 deletions PythonLib/full/__phello__/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
initialized = True

def main():
print("Hello world!")

if __name__ == '__main__':
main()
File renamed without changes.
File renamed without changes.
7 changes: 7 additions & 0 deletions PythonLib/full/__phello__/spam.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
initialized = True

def main():
print("Hello world!")

if __name__ == '__main__':
main()
57 changes: 38 additions & 19 deletions PythonLib/full/_aix_support.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,33 @@
import sys
import sysconfig

try:
import subprocess
except ImportError: # pragma: no cover
# _aix_support is used in distutils by setup.py to build C extensions,
# before subprocess dependencies like _posixsubprocess are available.
import _bootsubprocess as subprocess

# Taken from _osx_support _read_output function
def _read_cmd_output(commandstring, capture_stderr=False):
"""Output from successful command execution or None"""
# Similar to os.popen(commandstring, "r").read(),
# but without actually using os.popen because that
# function is not usable during python bootstrap.
import os
import contextlib
fp = open("/tmp/_aix_support.%s"%(
os.getpid(),), "w+b")

with contextlib.closing(fp) as fp:
if capture_stderr:
cmd = "%s >'%s' 2>&1" % (commandstring, fp.name)
else:
cmd = "%s 2>/dev/null >'%s'" % (commandstring, fp.name)
return fp.read() if not os.system(cmd) else None


def _aix_tag(vrtl, bd):
# type: (List[int], int) -> str
# Infer the ABI bitwidth from maxsize (assuming 64 bit as the default)
_sz = 32 if sys.maxsize == (2**31-1) else 64
_bd = bd if bd != 0 else 9988
# vrtl[version, release, technology_level]
return "aix-{:1x}{:1d}{:02d}-{:04d}-{}".format(vrtl[0], vrtl[1], vrtl[2], bd, _sz)
return "aix-{:1x}{:1d}{:02d}-{:04d}-{}".format(vrtl[0], vrtl[1], vrtl[2], _bd, _sz)


# extract version, release and technology level from a VRMF string
Expand All @@ -26,32 +39,38 @@ def _aix_vrtl(vrmf):
return [int(v[-1]), int(r), int(tl)]


def _aix_bosmp64():
def _aix_bos_rte():
# type: () -> Tuple[str, int]
"""
Return a Tuple[str, int] e.g., ['7.1.4.34', 1806]
The fileset bos.mp64 is the AIX kernel. It's VRMF and builddate
reflect the current ABI levels of the runtime environment.
The fileset bos.rte represents the current AIX run-time level. It's VRMF and
builddate reflect the current ABI levels of the runtime environment.
If no builddate is found give a value that will satisfy pep425 related queries
"""
# We expect all AIX systems to have lslpp installed in this location
out = subprocess.check_output(["/usr/bin/lslpp", "-Lqc", "bos.mp64"])
# All AIX systems to have lslpp installed in this location
# subprocess may not be available during python bootstrap
try:
import subprocess
out = subprocess.check_output(["/usr/bin/lslpp", "-Lqc", "bos.rte"])
except ImportError:
out = _read_cmd_output("/usr/bin/lslpp -Lqc bos.rte")
out = out.decode("utf-8")
out = out.strip().split(":") # type: ignore
# Use str() and int() to help mypy see types
return (str(out[2]), int(out[-1]))
_bd = int(out[-1]) if out[-1] != '' else 9988
return (str(out[2]), _bd)


def aix_platform():
# type: () -> str
"""
AIX filesets are identified by four decimal values: V.R.M.F.
V (version) and R (release) can be retreived using ``uname``
V (version) and R (release) can be retrieved using ``uname``
Since 2007, starting with AIX 5.3 TL7, the M value has been
included with the fileset bos.mp64 and represents the Technology
included with the fileset bos.rte and represents the Technology
Level (TL) of AIX. The F (Fix) value also increases, but is not
relevant for comparing releases and binary compatibility.
For binary compatibility the so-called builddate is needed.
Again, the builddate of an AIX release is associated with bos.mp64.
Again, the builddate of an AIX release is associated with bos.rte.
AIX ABI compatibility is described as guaranteed at: https://www.ibm.com/\
support/knowledgecenter/en/ssw_aix_72/install/binary_compatability.html
Expand All @@ -60,7 +79,7 @@ def aix_platform():
e.g., "aix-6107-1415-32" for AIX 6.1 TL7 bd 1415, 32-bit
and, "aix-6107-1415-64" for AIX 6.1 TL7 bd 1415, 64-bit
"""
vrmf, bd = _aix_bosmp64()
vrmf, bd = _aix_bos_rte()
return _aix_tag(_aix_vrtl(vrmf), bd)


Expand All @@ -79,7 +98,7 @@ def aix_buildtag():
Return the platform_tag of the system Python was built on.
"""
# AIX_BUILDDATE is defined by configure with:
# lslpp -Lcq bos.mp64 | awk -F: '{ print $NF }'
# lslpp -Lcq bos.rte | awk -F: '{ print $NF }'
build_date = sysconfig.get_config_var("AIX_BUILDDATE")
try:
build_date = int(build_date)
Expand Down
97 changes: 0 additions & 97 deletions PythonLib/full/_bootsubprocess.py

This file was deleted.

Loading

0 comments on commit 70c3d04

Please sign in to comment.