Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python314 for openSUSE:Factory checked in at 2025-07-23 16:35:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python314 (Old) and /work/SRC/openSUSE:Factory/.python314.new.8875 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python314" Wed Jul 23 16:35:49 2025 rev:19 rq:1295248 version:3.14.0~rc1 Changes: -------- --- /work/SRC/openSUSE:Factory/python314/python314.changes 2025-07-21 20:01:27.529978454 +0200 +++ /work/SRC/openSUSE:Factory/.python314.new.8875/python314.changes 2025-07-23 16:39:23.306062782 +0200 @@ -1,0 +2,91 @@ +Wed Jul 23 08:05:20 UTC 2025 - Matej Cepl <mc...@cepl.eu> + +- Update to 3.14.0~rc1: + - Tools/Demos + - gh-136251: Fixes and usability improvements for + Tools/wasm/emscripten/web_example + - Security + - gh-135661: Fix parsing attributes with whitespaces around + the = separator in html.parser.HTMLParser according to the + HTML5 standard. + - gh-118350: Fix support of escapable raw text mode (elements + “textarea” and “title”) in html.parser.HTMLParser. + - Library + - gh-136170: Removed the unreleased + zipfile.ZipFile.data_offset property added in 3.14.0a7 as + it wasn’t fully clear which behavior it should have in some + situations so the result was not always what a user might + expect. + - gh-124621: pyrepl now works in Emscripten. + - gh-136874: Discard URL query and fragment in + urllib.request.url2pathname(). + - gh-130645: Enable color help by default in argparse. + - gh-136549: Fix signature of threading.excepthook(). + - gh-136523: Fix wave.Wave_write emitting an unraisable when + open raises. + - gh-52876: Add missing keepends (default True) + parameter to codecs.StreamReaderWriter.readline() and + codecs.StreamReaderWriter.readlines(). + - gh-136470: Correct + concurrent.futures.InterpreterPoolExecutor’s default thread + name. + - gh-136476: Fix a bug that was causing the + get_async_stack_trace function to miss some frames in the + stack trace. + - gh-136434: Fix docs generation of UnboundItem in + concurrent.interpreters when running with -OO. + - gh-136380: Raises AttributeError when accessing + concurrent.futures.InterpreterPoolExecutor and + subinterpreters are not available. + - gh-134759: Fix UnboundLocalError in + email.message.Message.get_payload() when the payload to + decode is a bytes object. Patch by Kliment Lamonov. + - gh-134657: asyncio: Remove some private names from + asyncio.__all__. + - Core and Builtins + - gh-136801: Fix PyREPL syntax highlighting on match cases + after multi-line case. Contributed by Olga Matoula. + - gh-136421: Fix crash when initializing datetime + concurrently. + - gh-136541: Fix some issues with the perf trampolines + on x86-64 and aarch64. The trampolines were not being + generated correctly for some cases, which could lead to + the perf integration not working correctly. Patch by Pablo + Galindo. + - gh-136517: Fixed a typo that prevented printing of + uncollectable objects when the gc.DEBUG_UNCOLLECTABLE mode + was set. + - gh-136525: Fix issue where per-thread bytecode was not + instrumented for newly created threads. + - gh-132661: Interpolation.expression now has a default, the + empty string. + - gh-132661: Reflect recent PEP 750 change. + - Disallow concatenation of string.templatelib.Template and + str. Also, disallow implicit concatenation of t-string + literals with string or f-string literals. + - gh-116738: Make functions in grp thread-safe on the free + threaded build. + - gh-135148: Fixed a bug where f-string debug expressions + (using =) would incorrectly strip out parts of strings + containing escaped quotes and # characters. Patch by Pablo + Galindo. + - gh-133136: Limit excess memory usage in the free threading + build when a large dictionary or list is resized and + accessed by multiple threads. + - gh-91153: Fix a crash when a bytearray is concurrently + mutated during item assignment. + - gh-127971: Fix off-by-one read beyond the end of a string + in string search. + - C API + - gh-112068: Revert support of nullable arguments in + PyArg_Parse(). + - gh-133296: New variants for the critical section API that + accept one or two PyMutex pointers rather than PyObject + instances are now public in the non-limited C API. + - gh-134009: Expose PyMutex_IsLocked() as part of the public + C API. + - Build + - gh-135621: PyREPL no longer depends on the curses standard + library. Contributed by Łukasz Langa. + +------------------------------------------------------------------- Old: ---- Python-3.14.0b4.tar.xz Python-3.14.0b4.tar.xz.sigstore New: ---- Python-3.14.0rc1.tar.xz Python-3.14.0rc1.tar.xz.sigstore ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python314.spec ++++++ --- /var/tmp/diff_new_pack.6gNF5Y/_old 2025-07-23 16:39:25.594157275 +0200 +++ /var/tmp/diff_new_pack.6gNF5Y/_new 2025-07-23 16:39:25.594157275 +0200 @@ -162,8 +162,8 @@ # _md5.cpython-38m-x86_64-linux-gnu.so %define dynlib() %{sitedir}/lib-dynload/%{1}.cpython-%{abi_tag}-%{archname}-%{_os}%{?_gnu}%{?armsuffix}.so Name: %{python_pkg_name}%{psuffix} -Version: 3.14.0~b4 -%define tarversion 3.14.0b4 +Version: 3.14.0~rc1 +%define tarversion 3.14.0rc1 %define tarname Python-%{tarversion} Release: 0 Summary: Python 3 Interpreter @@ -727,7 +727,7 @@ for library in \ array _asyncio binascii _bisect _bz2 cmath _codecs_* \ - _csv _ctypes _datetime _decimal fcntl grp \ + _csv _ctypes _decimal fcntl grp \ _hashlib _heapq _hmac _json _lsprof _lzma math mmap \ _multibytecodec _multiprocessing _pickle _posixshmem \ _posixsubprocess _queue _random resource select _ssl _socket \ @@ -1044,7 +1044,6 @@ %{dynlib _codecs_tw} %{dynlib _csv} %{dynlib _ctypes} -%{dynlib _datetime} %{dynlib _decimal} %{dynlib _elementtree} %{dynlib fcntl} ++++++ Python-3.14.0rc1.tar.xz.sigstore ++++++ {"mediaType": "application/vnd.dev.sigstore.bundle.v0.3+json", "verificationMaterial": {"certificate": {"rawBytes": "MIICzjCCAlOgAwIBAgIUdd8Nx/fQW+uFwmE/iUr4kZfPhYAwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjUwNzIyMTg1ODAyWhcNMjUwNzIyMTkwODAyWjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEfsWgKoIKVbY0hNXKG8Zj2NxMgIzBIBkiPUHMxv07NxzE/XxK88SKPh3h12yIH6JUjxbOHbT0ssdy++5hJKXp2qOCAXIwggFuMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUoI7k3LZWDSJYSZc0N3Hv2r0AmXUwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wHQYDVR0RAQH/BBMwEYEPaHVnb0BweXRob24ub3JnMCwGCisGAQQBg78wAQEEHmh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aDAuBgorBgEEAYO/MAEIBCAMHmh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aDCBiQYKKwYBBAHWeQIEAgR7BHkAdwB1AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABmDN/+94AAAQDAEYwRAIgTWnzXuzYUkeZC3JqfGd3Oly1wUFVpL8WLDbAVY8X1cICIEa/Oa16EIjIY72RbdpVBnJZzkP+KSEmv8FAZXniZK9/MAoGCCqGSM49BAMDA2kAMGYCMQC3APqICLinna3xOyQgpaQBzhuVnqxhlcEXgPMNJSzVd9zBKPATE Ig5omaAryLZnRYCMQCz0crFmeNQpCFqTD4CPQyPciWKnp59irTy6DyLxAAucY8zka8mpkUozq5B19rqynQ="}, "tlogEntries": [{"logIndex": "302609759", "logId": {"keyId": "wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="}, "kindVersion": {"kind": "hashedrekord", "version": "0.0.1"}, "integratedTime": "1753210682", "inclusionPromise": {"signedEntryTimestamp": "MEQCIDm0AZXn9C5yMWTEaBUVvO8Y6Xk/YBTtB+OPrl2fzdZrAiBYCmISH8sx8G5+HkYoGzgqZQRHSsbJBowWzZgvr//yVQ=="}, "inclusionProof": {"logIndex": "180705497", "rootHash": "EvMBuCgM4SESVaa95s8M/1bCdGKsWUzG4TsyMWZBtZc=", "treeSize": "180705504", "hashes": ["usmhE+uQ6Xgu9KJntJljw1FnnK3kRsexzQ+P7NIj2o0=", "c/qDV+bvaEgbBXtU1oUBbhLLdWedEud3CxhgsAt0cpc=", "PIkWaNlCl7teBondUwN7+xzWSmlX7EKC1viOefX0WQg=", "k46hbMh2nnDRaBUo81gBlFOScHPrTEXM0eYO4wd4We0=", "JltBeOV/z1XKpcvkfKsKEzifRaavT9DioO8vhkBHaNo=", "tkZqbm7tJo5HXychVpFLhR6H8FUaGhs4n7y2oKw2AnE=", "6/DlAJpt7oJU7PDKiNosXtLiJcLT2bIxagp/GbXbIX0=", "mPlI7tl4EiMHvUqKga7G9mEAMnAtCSKpD4hSbKSkBmw=", "TYFYy4quP+zFCLjdVj6xMsYgFjihtGK9XPdJ +YEX/m0=", "3m7vEGcH91GfZrtO8pTLAsvbxCChxcYUpM3zcC4aTBY=", "eXthxH/NJrHSD0Ii37odpnwTNQPBumMo1q0nK6TxImk=", "iogV552ADppSjZcABXSLxhclXNJzQsAWcMc9y/Vs9vk=", "aiJG7xq94AFTfW/qXktvWGzxHfWHz+XR/VuefwZbciE=", "iR2mIeu/7jQ4TXDRGbULJSgzFAWIyMmQiPrz7EjqFcg=", "HouMZeE2XjlPmxVnP7fw6rUjyw+RRQ8qbLEEKlq2uOA=", "wLANT0NMxIRh/p5rRcam4MppSIbUXIfT1Ht9FQA2XnI="], "checkpoint": {"envelope": "rekor.sigstore.dev - 1193050959916656506\n180705504\nEvMBuCgM4SESVaa95s8M/1bCdGKsWUzG4TsyMWZBtZc=\n\n\u2014 rekor.sigstore.dev wNI9ajBFAiAWXPgGSmMzZbxdHMffj0TSXmYgLMNM1ZtScQ0gtUg/9AIhALFQzvFSpPF4P+n6FCCaeXeUqpJMUuDJ6egOmMLnEKKV\n"}}, "canonicalizedBody": "eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI4NzA3NzgwYWU5ZjE5YzViZjViOWYyNzgyNzE4MWJhMTFjZGFkN2JiMjkyZWE0OWNhZDU0MjQzMzFlNDBlZThiIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FWUNJUURId3FqWEZyUGlpSEM5dkoycXlPNEhyRmFYWUF2WUgrS3BaZjdhRm8xOVVBSWhBSXc1ZzJRY1oya1hWd2szN3EzdEc0V1NqRkx1TzF1a y9TdDhjYi9oMnUyVSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVTjZha05EUVd4UFowRjNTVUpCWjBsVlpHUTRUbmd2WmxGWEszVkdkMjFGTDJsVmNqUnJXbVpRYUZsQmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFZkMDU2U1hsTlZHY3hUMFJCZVZkb1kwNU5hbFYzVG5wSmVVMVVhM2RQUkVGNVYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZtYzFkblMyOUpTMVppV1RCb1RsaExSemhhYWpKT2VFMW5TWHBDU1VKcmFWQlZTRTBLZUhZd04wNTRla1V2V0hoTE9EaFRTMUJvTTJneE1ubEpTRFpLVldwNFlrOUlZbFF3YzNOa2VTc3JOV2hLUzFod01uRlBRMEZZU1hkblowWjFUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZ2U1RkckNqTk1XbGRFVTBwWlUxcGpNRTR6U0hZeWNqQkJiVmhWZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDBoUldVUldVakJTUVZGSUwwSkNUWGRGV1VWUVlVaFdibUl3UW5kbFdGSnZZakkwZFdJelNtNU5RM2RIUT JselIwRlJVVUpuTnpoM1FWRkZSUXBJYldnd1pFaENlazlwT0haYU1td3dZVWhXYVV4dFRuWmlVemx6WWpKa2NHSnBPWFpaV0ZZd1lVUkJkVUpuYjNKQ1owVkZRVmxQTDAxQlJVbENRMEZOQ2todGFEQmtTRUo2VDJrNGRsb3liREJoU0ZacFRHMU9kbUpUT1hOaU1tUndZbWs1ZGxsWVZqQmhSRU5DYVZGWlMwdDNXVUpDUVVoWFpWRkpSVUZuVWpjS1FraHJRV1IzUWpGQlRqQTVUVWR5UjNoNFJYbFplR3RsU0Vwc2JrNTNTMmxUYkRZME0ycDVkQzgwWlV0amIwRjJTMlUyVDBGQlFVSnRSRTR2S3prMFFRcEJRVkZFUVVWWmQxSkJTV2RVVjI1NldIVjZXVlZyWlZwRE0wcHhaa2RrTTA5c2VURjNWVVpXY0V3NFYweEVZa0ZXV1RoWU1XTkpRMGxGWVM5UFlURTJDa1ZKYWtsWk56SlNZbVJ3VmtKdVNscDZhMUFyUzFORmJYWTRSa0ZhV0c1cFdrczVMMDFCYjBkRFEzRkhVMDAwT1VKQlRVUkJNbXRCVFVkWlEwMVJRek1LUVZCeFNVTk1hVzV1WVRONFQzbFJaM0JoVVVKNmFIVldibkY0YUd4alJWaG5VRTFPU2xONlZtUTVla0pMVUVGVVJVbG5OVzl0WVVGeWVVeGFibEpaUXdwTlVVTjZNR055Um0xbFRsRndRMFp4VkVRMFExQlJlVkJqYVZkTGJuQTFPV2x5VkhrMlJIbE1lRUZCZFdOWk9IcHJZVGh0Y0d0VmIzcHhOVUl4T1hKeENubHVVVDBLTFMwdExTMUZUa1FnUTBWU1ZFbEdTVU5CVkVVdExTMHRMUW89In19fX0="}]}, "messageSignature": {"messageDigest": {"algorithm": "SHA2_256", "digest": "hwd4CunxnFv1uf J4JxgboRza17spLqScrVQkMx5A7os="}, "signature": "MEYCIQDHwqjXFrPiiHC9vJ2qyO4HrFaXYAvYH+KpZf7aFo19UAIhAIw5g2QcZ2kXVwk37q3tG4WSjFLuO1uk/St8cb/h2u2U"}} ++++++ bpo-31046_ensurepip_honours_prefix.patch ++++++ --- /var/tmp/diff_new_pack.6gNF5Y/_old 2025-07-23 16:39:25.742163387 +0200 +++ /var/tmp/diff_new_pack.6gNF5Y/_new 2025-07-23 16:39:25.746163553 +0200 @@ -13,9 +13,11 @@ 5 files changed, 37 insertions(+), 9 deletions(-) create mode 100644 Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst ---- a/Doc/library/ensurepip.rst -+++ b/Doc/library/ensurepip.rst -@@ -61,7 +61,11 @@ is at least as recent as the one availab +Index: Python-3.14.0rc1/Doc/library/ensurepip.rst +=================================================================== +--- Python-3.14.0rc1.orig/Doc/library/ensurepip.rst 2025-07-22 18:42:44.000000000 +0200 ++++ Python-3.14.0rc1/Doc/library/ensurepip.rst 2025-07-23 10:10:31.690342385 +0200 +@@ -61,7 +61,11 @@ By default, ``pip`` is installed into the current virtual environment (if one is active) or into the system site packages (if there is no active virtual environment). The installation location can be controlled @@ -28,7 +30,7 @@ .. option:: --root <dir> -@@ -102,7 +106,7 @@ Module API +@@ -102,7 +106,7 @@ Returns a string specifying the available version of pip that will be installed when bootstrapping an environment. @@ -37,7 +39,7 @@ altinstall=False, default_pip=False, \ verbosity=0) -@@ -112,6 +116,8 @@ Module API +@@ -112,6 +116,8 @@ If *root* is ``None``, then installation uses the default install location for the current environment. @@ -46,7 +48,7 @@ *upgrade* indicates whether or not to upgrade an existing installation of an earlier version of ``pip`` to the available version. -@@ -132,6 +138,8 @@ Module API +@@ -132,6 +138,8 @@ *verbosity* controls the level of output to :data:`sys.stdout` from the bootstrapping operation. @@ -55,9 +57,11 @@ .. audit-event:: ensurepip.bootstrap root ensurepip.bootstrap .. note:: ---- a/Lib/ensurepip/__init__.py -+++ b/Lib/ensurepip/__init__.py -@@ -106,27 +106,27 @@ def _disable_pip_configuration_settings( +Index: Python-3.14.0rc1/Lib/ensurepip/__init__.py +=================================================================== +--- Python-3.14.0rc1.orig/Lib/ensurepip/__init__.py 2025-07-23 10:10:18.541751619 +0200 ++++ Python-3.14.0rc1/Lib/ensurepip/__init__.py 2025-07-23 10:10:31.690818287 +0200 +@@ -106,27 +106,27 @@ os.environ['PIP_CONFIG_FILE'] = os.devnull @@ -90,7 +94,7 @@ Note that calling this function will alter both sys.path and os.environ. """ -@@ -162,6 +162,8 @@ def _bootstrap(*, root=None, upgrade=Fal +@@ -162,6 +162,8 @@ args = ["install", "--no-cache-dir", "--no-index", "--find-links", tmpdir] if root: args += ["--root", root] @@ -99,7 +103,7 @@ if upgrade: args += ["--upgrade"] if user: -@@ -238,6 +240,11 @@ def _main(argv=None): +@@ -238,6 +240,11 @@ help="Install everything relative to this alternate root directory.", ) parser.add_argument( @@ -111,7 +115,7 @@ "--altinstall", action="store_true", default=False, -@@ -256,6 +263,7 @@ def _main(argv=None): +@@ -256,6 +263,7 @@ return _bootstrap( root=args.root, @@ -119,9 +123,11 @@ upgrade=args.upgrade, user=args.user, verbosity=args.verbosity, ---- a/Lib/test/test_ensurepip.py -+++ b/Lib/test/test_ensurepip.py -@@ -100,6 +100,17 @@ class TestBootstrap(EnsurepipMixin, unit +Index: Python-3.14.0rc1/Lib/test/test_ensurepip.py +=================================================================== +--- Python-3.14.0rc1.orig/Lib/test/test_ensurepip.py 2025-07-23 10:10:19.969641992 +0200 ++++ Python-3.14.0rc1/Lib/test/test_ensurepip.py 2025-07-23 10:10:31.691217643 +0200 +@@ -100,6 +100,17 @@ unittest.mock.ANY, ) @@ -139,9 +145,11 @@ def test_bootstrapping_with_user(self): ensurepip.bootstrap(user=True) ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -2341,7 +2341,7 @@ install: @FRAMEWORKINSTALLFIRST@ @INSTAL +Index: Python-3.14.0rc1/Makefile.pre.in +=================================================================== +--- Python-3.14.0rc1.orig/Makefile.pre.in 2025-07-23 10:10:27.325708066 +0200 ++++ Python-3.14.0rc1/Makefile.pre.in 2025-07-23 10:10:31.691716104 +0200 +@@ -2371,7 +2371,7 @@ install|*) ensurepip="" ;; \ esac; \ $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \ @@ -150,7 +158,7 @@ fi .PHONY: altinstall -@@ -2352,7 +2352,7 @@ altinstall: commoninstall +@@ -2382,7 +2382,7 @@ install|*) ensurepip="--altinstall" ;; \ esac; \ $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \ @@ -159,8 +167,10 @@ fi .PHONY: commoninstall ---- /dev/null -+++ b/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst +Index: Python-3.14.0rc1/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ Python-3.14.0rc1/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst 2025-07-23 10:10:31.692253536 +0200 @@ -0,0 +1 @@ +A directory prefix can now be specified when using :mod:`ensurepip`. ++++++ python-3.3.0b1-fix_date_time_compiler.patch ++++++ --- /var/tmp/diff_new_pack.6gNF5Y/_old 2025-07-23 16:39:25.838167352 +0200 +++ /var/tmp/diff_new_pack.6gNF5Y/_new 2025-07-23 16:39:25.842167518 +0200 @@ -2,9 +2,11 @@ Makefile.pre.in | 5 +++++ 1 file changed, 5 insertions(+) ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1880,6 +1880,11 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \ +Index: Python-3.14.0rc1/Makefile.pre.in +=================================================================== +--- Python-3.14.0rc1.orig/Makefile.pre.in 2025-07-22 18:42:44.000000000 +0200 ++++ Python-3.14.0rc1/Makefile.pre.in 2025-07-23 10:10:27.325708066 +0200 +@@ -1910,6 +1910,11 @@ -DGITBRANCH="\"`LC_ALL=C $(GITBRANCH)`\"" \ -o $@ $(srcdir)/Modules/getbuildinfo.c