From nobody Fri Nov 1 00:12:58 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1675959400; cv=none; d=zohomail.com; s=zohoarc; b=E8+hr3ihbAp9W0n/oaEjyizLfco9uHlFLzafue34+WLNWI64mjlqY19bIzQLTBBl7UG3fwLzKG1JPrQXO2IyoDt0VUCL0SzP3zx/O9n95+i2cYu3DtYynNUY2SiEwDsccNnDxaRCAIw9inc9DBfsM+/IKYrpW/L3UX93t9w4OF4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1675959400; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=dyYSQd8JlDSk5oLmbASqncj/ukYyp9ljtbQQtsNo3KY=; b=K1UN+CVZEA6RNwQcw+VhAtgOsYH9TNyX4P7okURQxxHHFkiGb9+e78Tv0xUzkLMreP7m58plPwUydVVKqc8iltwPCPQQgfL3LSsrikLJFaLzh2fri7igAB2ib9EnhwmZWAzkSKn/21LW9qnRuYfeCZ/23cDBrl+15E/8MAmsImA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1675959400151881.132010862706; Thu, 9 Feb 2023 08:16:40 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pQ92d-0004eP-CN; Thu, 09 Feb 2023 10:40:55 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pQ92Q-0004aT-GA for qemu-devel@nongnu.org; Thu, 09 Feb 2023 10:40:44 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pQ92O-0003Qc-KP for qemu-devel@nongnu.org; Thu, 09 Feb 2023 10:40:42 -0500 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-33-6SF2J69_O0eGcrTcDtx60A-1; Thu, 09 Feb 2023 10:40:37 -0500 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 364EE18A6460; Thu, 9 Feb 2023 15:40:36 +0000 (UTC) Received: from scv.redhat.com (unknown [10.22.16.119]) by smtp.corp.redhat.com (Postfix) with ESMTP id A0C4C492C3E; Thu, 9 Feb 2023 15:40:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1675957238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=dyYSQd8JlDSk5oLmbASqncj/ukYyp9ljtbQQtsNo3KY=; b=id/kA1+wugID/eHRuveU35p+UPbhTWi6PCtfpSAHH0SXneAgoQDQvUEA7gQ6Unc8BJ76r2 4v1SzJfw+1Pys54RHd8ERXkj/ngFmfiqH1ml7yOVmlIOtJMhLLeZyIseEMn2pI/a+KFKXe ezhpj0652+wNIItO2RkmIsFMsnqigAU= X-MC-Unique: 6SF2J69_O0eGcrTcDtx60A-1 From: John Snow To: qemu-devel@nongnu.org Cc: Hanna Reitz , Kevin Wolf , Peter Maydell , Thomas Huth , qemu-block@nongnu.org, Wainer dos Santos Moschetta , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Markus Armbruster , Daniel Berrange , Paolo Bonzini , Michael Roth , Cleber Rosa , Beraldo Leal , John Snow , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PATCH 1/7] python: support pylint 2.16 Date: Thu, 9 Feb 2023 10:40:28 -0500 Message-Id: <20230209154034.983044-2-jsnow@redhat.com> In-Reply-To: <20230209154034.983044-1-jsnow@redhat.com> References: <20230209154034.983044-1-jsnow@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=jsnow@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1675959402239100009 Content-Type: text/plain; charset="utf-8" Pylint 2.16 adds a few new checks that cause the optional check-tox CI job to fail. 1. The superfluous-parens check seems to be a bit more aggressive, 2. broad-exception-raised is new; it discourages "raise Exception". Fix these minor issues and turn the lights green. Signed-off-by: John Snow Reviewed-by: Beraldo Leal Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- python/qemu/qmp/protocol.py | 2 +- python/qemu/qmp/qmp_client.py | 2 +- python/qemu/utils/qemu_ga_client.py | 6 +++--- tests/qemu-iotests/iotests.py | 4 ++-- tests/qemu-iotests/tests/migrate-bitmaps-postcopy-test | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/python/qemu/qmp/protocol.py b/python/qemu/qmp/protocol.py index 6d3d739daa7..22e60298d28 100644 --- a/python/qemu/qmp/protocol.py +++ b/python/qemu/qmp/protocol.py @@ -207,7 +207,7 @@ class AsyncProtocol(Generic[T]): logger =3D logging.getLogger(__name__) =20 # Maximum allowable size of read buffer - _limit =3D (64 * 1024) + _limit =3D 64 * 1024 =20 # ------------------------- # Section: Public interface diff --git a/python/qemu/qmp/qmp_client.py b/python/qemu/qmp/qmp_client.py index b5772e7f32b..9d73ae6e7ad 100644 --- a/python/qemu/qmp/qmp_client.py +++ b/python/qemu/qmp/qmp_client.py @@ -198,7 +198,7 @@ async def run(self, address=3D'/tmp/qemu.socket'): logger =3D logging.getLogger(__name__) =20 # Read buffer limit; 10MB like libvirt default - _limit =3D (10 * 1024 * 1024) + _limit =3D 10 * 1024 * 1024 =20 # Type alias for pending execute() result items _PendingT =3D Union[Message, ExecInterruptedError] diff --git a/python/qemu/utils/qemu_ga_client.py b/python/qemu/utils/qemu_g= a_client.py index 8c38a7ac9c0..d8411bb2d0b 100644 --- a/python/qemu/utils/qemu_ga_client.py +++ b/python/qemu/utils/qemu_ga_client.py @@ -155,7 +155,7 @@ def ping(self, timeout: Optional[float]) -> bool: =20 def fsfreeze(self, cmd: str) -> object: if cmd not in ['status', 'freeze', 'thaw']: - raise Exception('Invalid command: ' + cmd) + raise ValueError('Invalid command: ' + cmd) # Can be int (freeze, thaw) or GuestFsfreezeStatus (status) return getattr(self.qga, 'fsfreeze' + '_' + cmd)() =20 @@ -167,7 +167,7 @@ def fstrim(self, minimum: int) -> Dict[str, object]: =20 def suspend(self, mode: str) -> None: if mode not in ['disk', 'ram', 'hybrid']: - raise Exception('Invalid mode: ' + mode) + raise ValueError('Invalid mode: ' + mode) =20 try: getattr(self.qga, 'suspend' + '_' + mode)() @@ -178,7 +178,7 @@ def suspend(self, mode: str) -> None: =20 def shutdown(self, mode: str =3D 'powerdown') -> None: if mode not in ['powerdown', 'halt', 'reboot']: - raise Exception('Invalid mode: ' + mode) + raise ValueError('Invalid mode: ' + mode) =20 try: self.qga.shutdown(mode=3Dmode) diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py index 94aeb3f3b20..3e82c634cfe 100644 --- a/tests/qemu-iotests/iotests.py +++ b/tests/qemu-iotests/iotests.py @@ -720,7 +720,7 @@ def __exit__(self, exc_type, value, traceback): signal.setitimer(signal.ITIMER_REAL, 0) return False def timeout(self, signum, frame): - raise Exception(self.errmsg) + raise TimeoutError(self.errmsg) =20 def file_pattern(name): return "{0}-{1}".format(os.getpid(), name) @@ -804,7 +804,7 @@ def remote_filename(path): elif imgproto =3D=3D 'ssh': return "ssh://%s@127.0.0.1:22%s" % (os.environ.get('USER'), path) else: - raise Exception("Protocol %s not supported" % (imgproto)) + raise ValueError("Protocol %s not supported" % (imgproto)) =20 class VM(qtest.QEMUQtestMachine): '''A QEMU VM''' diff --git a/tests/qemu-iotests/tests/migrate-bitmaps-postcopy-test b/tests= /qemu-iotests/tests/migrate-bitmaps-postcopy-test index fc9c4b4ef41..dda55fad284 100755 --- a/tests/qemu-iotests/tests/migrate-bitmaps-postcopy-test +++ b/tests/qemu-iotests/tests/migrate-bitmaps-postcopy-test @@ -84,7 +84,7 @@ class TestDirtyBitmapPostcopyMigration(iotests.QMPTestCas= e): e['vm'] =3D 'SRC' for e in self.vm_b_events: e['vm'] =3D 'DST' - events =3D (self.vm_a_events + self.vm_b_events) + events =3D self.vm_a_events + self.vm_b_events events =3D [(e['timestamp']['seconds'], e['timestamp']['microseconds'], e['vm'], --=20 2.39.0 From nobody Fri Nov 1 00:12:58 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1675957691; cv=none; d=zohomail.com; s=zohoarc; b=nl8SJ7dT72+nJPv79plWiMoq1CBBQs1uRFkGTYEW/ccI26TgBEr7xlX3J1XCkmBWlrEL8y+aWWr7MTeFij82Dh7UTLCtdz+93VB8kGQHL7WlaYEFnIsef2ukRlGIcF6BuIlwvrdek1ngZ5Y6VfM5O/Gf+VV+W9D5LO7a9mMSlcI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1675957691; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=5UKkWW1lJHDkGjUiofb7qWuP3dln4nDtmnX7O1Y/39U=; b=movyAwKVmhjXr7ifNDW69hBoq663KBzXzhDfDTS6qA551t/rJMcJPGN+1ukxrReWDuHQi2eVsy4eDWyt9aWMya5UWxEmXB60kWU9imthPQuScP0IPHfijNtUkqomXCdm6mfYQWmKgy6n8srTmdOvejoSmy+tZ607Ui9UFqeahOY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1675957691699149.85133609068134; Thu, 9 Feb 2023 07:48:11 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pQ92h-0004jE-Nr; Thu, 09 Feb 2023 10:40:59 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pQ92b-0004eX-AA for qemu-devel@nongnu.org; Thu, 09 Feb 2023 10:40:55 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pQ92U-0003Se-W0 for qemu-devel@nongnu.org; Thu, 09 Feb 2023 10:40:53 -0500 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-398-g4ttqd6uPdOahJFBMXDskQ-1; Thu, 09 Feb 2023 10:40:40 -0500 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id D05DE857F45; Thu, 9 Feb 2023 15:40:36 +0000 (UTC) Received: from scv.redhat.com (unknown [10.22.16.119]) by smtp.corp.redhat.com (Postfix) with ESMTP id 432D8492C3E; Thu, 9 Feb 2023 15:40:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1675957246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5UKkWW1lJHDkGjUiofb7qWuP3dln4nDtmnX7O1Y/39U=; b=d3g9ED9zxnkH/ArsUrv5ovWDo67Zzj04Debh5oFzgola1e+VyeB3SCrl8GMhP3x4LU7uRo 0Bj7tOZ7hBfm+JSg2H24VWr18N597FxI57o2R8BkZfq8NwtLNq2vcSJOfDdVv3hG7LiET8 XO+zUDIRyTMY97UZLSesHq0uiX4N8gg= X-MC-Unique: g4ttqd6uPdOahJFBMXDskQ-1 From: John Snow To: qemu-devel@nongnu.org Cc: Hanna Reitz , Kevin Wolf , Peter Maydell , Thomas Huth , qemu-block@nongnu.org, Wainer dos Santos Moschetta , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Markus Armbruster , Daniel Berrange , Paolo Bonzini , Michael Roth , Cleber Rosa , Beraldo Leal , John Snow , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PATCH 2/7] Python: drop pipenv Date: Thu, 9 Feb 2023 10:40:29 -0500 Message-Id: <20230209154034.983044-3-jsnow@redhat.com> In-Reply-To: <20230209154034.983044-1-jsnow@redhat.com> References: <20230209154034.983044-1-jsnow@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=jsnow@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1675957692718100001 Content-Type: text/plain; charset="utf-8" The pipenv tool was nice in theory, but in practice it's just too hard to update selectively, and it makes using it a pain. The qemu.qmp repo dropped pipenv support a while back and it's been functioning just fine, so I'm backporting that change here to qemu.git. Signed-off-by: John Snow --- python/README.rst | 3 - .gitlab-ci.d/static_checks.yml | 4 +- python/.gitignore | 4 +- python/Makefile | 53 ++-- python/Pipfile | 13 - python/Pipfile.lock | 347 ------------------------- python/setup.cfg | 4 +- python/tests/minreqs.txt | 45 ++++ tests/docker/dockerfiles/python.docker | 1 - 9 files changed, 86 insertions(+), 388 deletions(-) delete mode 100644 python/Pipfile delete mode 100644 python/Pipfile.lock create mode 100644 python/tests/minreqs.txt diff --git a/python/README.rst b/python/README.rst index 9c1fceaee73..d62e71528d2 100644 --- a/python/README.rst +++ b/python/README.rst @@ -77,9 +77,6 @@ Files in this directory - ``MANIFEST.in`` is read by python setuptools, it specifies additional fi= les that should be included by a source distribution. - ``PACKAGE.rst`` is used as the README file that is visible on PyPI.org. -- ``Pipfile`` is used by Pipenv to generate ``Pipfile.lock``. -- ``Pipfile.lock`` is a set of pinned package dependencies that this packa= ge - is tested under in our CI suite. It is used by ``make check-pipenv``. - ``README.rst`` you are here! - ``VERSION`` contains the PEP-440 compliant version used to describe this package; it is referenced by ``setup.cfg``. diff --git a/.gitlab-ci.d/static_checks.yml b/.gitlab-ci.d/static_checks.yml index 289ad1359e3..b4cbdbce2ab 100644 --- a/.gitlab-ci.d/static_checks.yml +++ b/.gitlab-ci.d/static_checks.yml @@ -23,12 +23,12 @@ check-dco: before_script: - apk -U add git =20 -check-python-pipenv: +check-python-minreqs: extends: .base_job_template stage: test image: $CI_REGISTRY_IMAGE/qemu/python:latest script: - - make -C python check-pipenv + - make -C python check-minreqs variables: GIT_DEPTH: 1 needs: diff --git a/python/.gitignore b/python/.gitignore index 904f324bb11..c3ceb1ca0ab 100644 --- a/python/.gitignore +++ b/python/.gitignore @@ -11,8 +11,8 @@ qemu.egg-info/ .idea/ .vscode/ =20 -# virtual environments (pipenv et al) -.venv/ +# virtual environments +.min-venv/ .tox/ .dev-venv/ =20 diff --git a/python/Makefile b/python/Makefile index b170708398a..c5bd6ff83ac 100644 --- a/python/Makefile +++ b/python/Makefile @@ -1,15 +1,16 @@ QEMU_VENV_DIR=3D.dev-venv +QEMU_MINVENV_DIR=3D.min-venv QEMU_TOX_EXTRA_ARGS ?=3D =20 .PHONY: help help: @echo "python packaging help:" @echo "" - @echo "make check-pipenv:" - @echo " Run tests in pipenv's virtual environment." + @echo "make check-minreqs:" + @echo " Run tests in the minreqs virtual environment." @echo " These tests use the oldest dependencies." - @echo " Requires: Python 3.6 and pipenv." - @echo " Hint (Fedora): 'sudo dnf install python3.6 pipenv'" + @echo " Requires: Python 3.6" + @echo " Hint (Fedora): 'sudo dnf install python3.6'" @echo "" @echo "make check-tox:" @echo " Run tests against multiple python versions." @@ -33,8 +34,8 @@ help: @echo " and install the qemu package in editable mode." @echo " (Can be used in or outside of a venv.)" @echo "" - @echo "make pipenv" - @echo " Creates pipenv's virtual environment (.venv)" + @echo "make min-venv" + @echo " Creates the minreqs virtual environment ($(QEMU_MINVENV_DIR))" @echo "" @echo "make dev-venv" @echo " Creates a simple venv for check-dev. ($(QEMU_VENV_DIR))" @@ -43,21 +44,38 @@ help: @echo " Remove package build output." @echo "" @echo "make distclean:" - @echo " remove pipenv/venv files, qemu package forwarder," + @echo " remove venv files, qemu package forwarder," @echo " built distribution files, and everything from 'make clean'." @echo "" @echo -e "Have a nice day ^_^\n" =20 -.PHONY: pipenv -pipenv: .venv -.venv: Pipfile.lock - @PIPENV_VENV_IN_PROJECT=3D1 pipenv sync --dev --keep-outdated - rm -f pyproject.toml - @touch .venv +.PHONY: pipenv check-pipenv +pipenv check-pipenv: + @echo "pipenv was dropped; try 'make check-minreqs' or 'make min-venv'" + @exit 1 =20 -.PHONY: check-pipenv -check-pipenv: pipenv - @pipenv run make check +.PHONY: min-venv +min-venv: $(QEMU_MINVENV_DIR) $(QEMU_MINVENV_DIR)/bin/activate +$(QEMU_MINVENV_DIR) $(QEMU_MINVENV_DIR)/bin/activate: setup.cfg tests/minr= eqs.txt + @echo "VENV $(QEMU_MINVENV_DIR)" + @python3.6 -m venv $(QEMU_MINVENV_DIR) + @( \ + echo "ACTIVATE $(QEMU_MINVENV_DIR)"; \ + . $(QEMU_MINVENV_DIR)/bin/activate; \ + echo "INSTALL -r tests/minreqs.txt $(QEMU_MINVENV_DIR)";\ + pip install -r tests/minreqs.txt 1>/dev/null; \ + echo "INSTALL -e qemu $(QEMU_MINVENV_DIR)"; \ + pip install -e . 1>/dev/null; \ + ) + @touch $(QEMU_MINVENV_DIR) + +.PHONY: check-minreqs +check-minreqs: min-venv + @( \ + echo "ACTIVATE $(QEMU_MINVENV_DIR)"; \ + . $(QEMU_MINVENV_DIR)/bin/activate; \ + make check; \ + ) =20 .PHONY: dev-venv dev-venv: $(QEMU_VENV_DIR) $(QEMU_VENV_DIR)/bin/activate @@ -106,6 +124,7 @@ clean: =20 .PHONY: distclean distclean: clean - rm -rf qemu.egg-info/ .venv/ .tox/ $(QEMU_VENV_DIR) dist/ + rm -rf qemu.egg-info/ .eggs/ dist/ + rm -rf $(QEMU_VENV_DIR) $(QEMU_MINVENV_DIR) .tox/ rm -f .coverage .coverage.* rm -rf htmlcov/ diff --git a/python/Pipfile b/python/Pipfile deleted file mode 100644 index e7acb8cefa4..00000000000 --- a/python/Pipfile +++ /dev/null @@ -1,13 +0,0 @@ -[[source]] -name =3D "pypi" -url =3D "https://pypi.org/simple" -verify_ssl =3D true - -[dev-packages] -qemu =3D {editable =3D true, extras =3D ["devel"], path =3D "."} - -[packages] -qemu =3D {editable =3D true,path =3D "."} - -[requires] -python_version =3D "3.6" diff --git a/python/Pipfile.lock b/python/Pipfile.lock deleted file mode 100644 index ce46404ce08..00000000000 --- a/python/Pipfile.lock +++ /dev/null @@ -1,347 +0,0 @@ -{ - "_meta": { - "hash": { - "sha256": "f1a25654d884a5b450e38d78b1f2e3ebb9073e421cc4358d4bb= b83ac251a5670" - }, - "pipfile-spec": 6, - "requires": { - "python_version": "3.6" - }, - "sources": [ - { - "name": "pypi", - "url": "https://pypi.org/simple", - "verify_ssl": true - } - ] - }, - "default": { - "qemu": { - "editable": true, - "path": "." - } - }, - "develop": { - "appdirs": { - "hashes": [ - "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d241510= 0fe26e27afdf41", - "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4= 650ca1055ab128" - ], - "version": "=3D=3D1.4.4" - }, - "astroid": { - "hashes": [ - "sha256:09bdb456e02564731f8b5957cdd0c98a7f01d2db5e90eb1d79= 4c353c28bfd705", - "sha256:6a8a51f64dae307f6e0c9db752b66a7951e282389d8362cc1d= 39a56f3feeb31d" - ], - "index": "pypi", - "version": "=3D=3D2.6.0" - }, - "avocado-framework": { - "hashes": [ - "sha256:244cb569f8eb4e50a22ac82e1a2b2bba2458999f4281efbe26= 51bd415d59c65b", - "sha256:6f15998b67ecd0e7dde790c4de4dd249d6df52dfe6d5cc4e2d= d6596df51c3583" - ], - "index": "pypi", - "version": "=3D=3D90.0" - }, - "distlib": { - "hashes": [ - "sha256:106fef6dc37dd8c0e2c0a60d3fca3e77460a48907f335fa284= 20463a6f799736", - "sha256:23e223426b28491b1ced97dc3bbe183027419dfc7982b4fa2f= 05d5f3ff10711c" - ], - "index": "pypi", - "version": "=3D=3D0.3.2" - }, - "filelock": { - "hashes": [ - "sha256:18d82244ee114f543149c66a6e0c14e9c4f8a1044b5cdaadd0= f82159d6a6ff59", - "sha256:929b7d63ec5b7d6b71b0fa5ac14e030b3f70b75747cef1b10d= a9b879fef15836" - ], - "index": "pypi", - "version": "=3D=3D3.0.12" - }, - "flake8": { - "hashes": [ - "sha256:6a35f5b8761f45c5513e3405f110a86bea57982c3b75b766ce= 7b65217abe1670", - "sha256:c01f8a3963b3571a8e6bd7a4063359aff90749e160778e0381= 7cd9b71c9e07d2" - ], - "index": "pypi", - "version": "=3D=3D3.6.0" - }, - "fusepy": { - "hashes": [ - "sha256:10f5c7f5414241bffecdc333c4d3a725f1d6605cae6b4eaf86= a838ff49cdaf6c", - "sha256:a9f3a3699080ddcf0919fd1eb2cf743e1f5859ca54c2018632= f939bdfac269ee" - ], - "index": "pypi", - "version": "=3D=3D2.0.4" - }, - "importlib-metadata": { - "hashes": [ - "sha256:90bb658cdbbf6d1735b6341ce708fc7024a3e14e99ffdc5783= edea9f9b077f83", - "sha256:dc15b2969b4ce36305c51eebe62d418ac7791e9a157911d58b= fb1f9ccd8e2070" - ], - "markers": "python_version < '3.8'", - "version": "=3D=3D1.7.0" - }, - "importlib-resources": { - "hashes": [ - "sha256:54161657e8ffc76596c4ede7080ca68cb02962a2e074a2586b= 695a93a925d36e", - "sha256:e962bff7440364183203d179d7ae9ad90cb1f2b74dcb84300e= 88ecc42dca3351" - ], - "index": "pypi", - "version": "=3D=3D5.1.4" - }, - "isort": { - "hashes": [ - "sha256:408e4d75d84f51b64d0824894afee44469eba34a4caee621dc= 53799f80d71ccc", - "sha256:64022dea6a06badfa09b300b4dfe8ba968114a737919e8ed50= aea1c288f078aa" - ], - "index": "pypi", - "version": "=3D=3D5.1.2" - }, - "lazy-object-proxy": { - "hashes": [ - "sha256:17e0967ba374fc24141738c69736da90e94419338fd4c7c7be= f01ee26b339653", - "sha256:1fee665d2638491f4d6e55bd483e15ef21f6c8c2095f235fef= 72601021e64f61", - "sha256:22ddd618cefe54305df49e4c069fa65715be4ad0e78e8d252a= 33debf00f6ede2", - "sha256:24a5045889cc2729033b3e604d496c2b6f588c754f7a62027a= d4437a7ecc4837", - "sha256:410283732af311b51b837894fa2f24f2c0039aa7f220135192= b38fcc42bd43d3", - "sha256:4732c765372bd78a2d6b2150a6e99d00a78ec963375f236979= c0626b97ed8e43", - "sha256:489000d368377571c6f982fba6497f2aa13c6d1facc4066096= 3da62f5c379726", - "sha256:4f60460e9f1eb632584c9685bccea152f4ac2130e299784dba= f9fae9f49891b3", - "sha256:5743a5ab42ae40caa8421b320ebf3a998f89c85cdc8376d6b2= e00bd12bd1b587", - "sha256:85fb7608121fd5621cc4377a8961d0b32ccf84a7285b4f1d21= 988b2eae2868e8", - "sha256:9698110e36e2df951c7c36b6729e96429c9c32b3331989ef19= 976592c5f3c77a", - "sha256:9d397bf41caad3f489e10774667310d73cb9c4258e9aed94b9= ec734b34b495fd", - "sha256:b579f8acbf2bdd9ea200b1d5dea36abd93cabf56cf626ab9c7= 44a432e15c815f", - "sha256:b865b01a2e7f96db0c5d12cfea590f98d8c5ba64ad222300d9= 3ce6ff9138bcad", - "sha256:bf34e368e8dd976423396555078def5cfc3039ebc6fc06d1ae= 2c5a65eebbcde4", - "sha256:c6938967f8528b3668622a9ed3b31d145fab161a32f5891ea7= b84f6b790be05b", - "sha256:d1c2676e3d840852a2de7c7d5d76407c772927addff8d742b9= 808fe0afccebdf", - "sha256:d7124f52f3bd259f510651450e18e0fd081ed82f3c08541dff= c7b94b883aa981", - "sha256:d900d949b707778696fdf01036f58c9876a0d8bfe116e8d220= cfd4b15f14e741", - "sha256:ebfd274dcd5133e0afae738e6d9da4323c3eb021b3e13052d8= cbd0e457b1256e", - "sha256:ed361bb83436f117f9917d282a456f9e5009ea12fd6de8742d= 1a4752c3017e93", - "sha256:f5144c75445ae3ca2057faac03fda5a902eff196702b0a24da= f1d6ce0650514b" - ], - "index": "pypi", - "version": "=3D=3D1.6.0" - }, - "mccabe": { - "hashes": [ - "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d= 64e79735b80d42", - "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb= 0f125271b8831f" - ], - "version": "=3D=3D0.6.1" - }, - "mypy": { - "hashes": [ - "sha256:00cb1964a7476e871d6108341ac9c1a857d6bd20bf5877f477= 3ac5e9d92cd3cd", - "sha256:127de5a9b817a03a98c5ae8a0c46a20dc44442af6dcfa2ae7f= 96cb519b312efa", - "sha256:1f3976a945ad7f0a0727aafdc5651c2d3278e3c88dee94e2bf= 75cd3386b7b2f4", - "sha256:2f8c098f12b402c19b735aec724cc9105cc1a9eea405d08814= eb4b14a6fb1a41", - "sha256:4ef13b619a289aa025f2273e05e755f8049bb4eaba6d703a42= 5de37d495d178d", - "sha256:5d142f219bf8c7894dfa79ebfb7d352c4c63a325e75f10dfb4= c3db9417dcd135", - "sha256:62eb5dd4ea86bda8ce386f26684f7f26e4bfe6283c9f2b6ca6= d17faf704dcfad", - "sha256:64c36eb0936d0bfb7d8da49f92c18e312ad2e3ed46e5548ae4= ca997b0d33bd59", - "sha256:75eed74d2faf2759f79c5f56f17388defd2fc994222312ec54= ee921e37b31ad4", - "sha256:974bebe3699b9b46278a7f076635d219183da26e1a675c1f82= 43a69221758273", - "sha256:a5e5bb12b7982b179af513dddb06fca12285f0316d74f39640= 78acbfcf4c68f2", - "sha256:d31291df31bafb997952dc0a17ebb2737f802c754aed31dd15= 5a8bfe75112c57", - "sha256:d3b4941de44341227ece1caaf5b08b23e42ad4eeb8b603219a= fb11e9d4cfb437", - "sha256:eadb865126da4e3c4c95bdb47fe1bb087a3e3ea14d39a3b132= 24b8a4d9f9a102" - ], - "index": "pypi", - "version": "=3D=3D0.780" - }, - "mypy-extensions": { - "hashes": [ - "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a= 299250a846f15d", - "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5= 343488a6c604a8" - ], - "version": "=3D=3D0.4.3" - }, - "packaging": { - "hashes": [ - "sha256:5b327ac1320dc863dca72f4514ecc086f31186744b84a23037= 4cc1fd776feae5", - "sha256:67714da7f7bc052e064859c05c595155bd1ee9f69f76557e21= f051443c20947a" - ], - "index": "pypi", - "version": "=3D=3D20.9" - }, - "pluggy": { - "hashes": [ - "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604c= f808bfa1c765b0", - "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e= 9ca461a4081d2d" - ], - "index": "pypi", - "version": "=3D=3D0.13.1" - }, - "py": { - "hashes": [ - "sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a= 809035269e1bd3", - "sha256:3b80836aa6d1feeaa108e046da6423ab8f6ceda6468545ae8d= 02d9d58d18818a" - ], - "index": "pypi", - "version": "=3D=3D1.10.0" - }, - "pycodestyle": { - "hashes": [ - "sha256:74abc4e221d393ea5ce1f129ea6903209940c1ecd29e002e8c= 6933c2b21026e0", - "sha256:cbc619d09254895b0d12c2c691e237b2e91e9b2ecf5e84c26b= 35400f93dcfb83", - "sha256:cbfca99bd594a10f674d0cd97a3d802a1fdef635d4361e1a26= 58de47ed261e3a" - ], - "version": "=3D=3D2.4.0" - }, - "pyflakes": { - "hashes": [ - "sha256:9a7662ec724d0120012f6e29d6248ae3727d821bba522a0e6b= 356eff19126a49", - "sha256:f661252913bc1dbe7fcfcbf0af0db3f42ab65aabd1a6ca68fe= 5d466bace94dae" - ], - "version": "=3D=3D2.0.0" - }, - "pygments": { - "hashes": [ - "sha256:a18f47b506a429f6f4b9df81bb02beab9ca21d0a5fee38ed15= aef65f0545519f", - "sha256:d66e804411278594d764fc69ec36ec13d9ae9147193a1740cd= 34d272ca383b8e" - ], - "index": "pypi", - "version": "=3D=3D2.9.0" - }, - "pylint": { - "hashes": [ - "sha256:082a6d461b54f90eea49ca90fff4ee8b6e45e8029e5dbd72f6= 107ef84f3779c0", - "sha256:a01cd675eccf6e25b3bdb42be184eb46aaf89187d612ba0fb5= f93328ed6b0fd5" - ], - "index": "pypi", - "version": "=3D=3D2.8.0" - }, - "pyparsing": { - "hashes": [ - "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ea= d507bc3246ecc1", - "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb124= 0a85b024efc88b" - ], - "index": "pypi", - "version": "=3D=3D2.4.7" - }, - "qemu": { - "editable": true, - "path": "." - }, - "setuptools": { - "hashes": [ - "sha256:22c7348c6d2976a52632c67f7ab0cdf40147db7789f9aed187= 34643fe9cf3373", - "sha256:4ce92f1e1f8f01233ee9952c04f6b81d1e02939d6e1b488428= 154974a4d0783e" - ], - "markers": "python_version >=3D '3.6'", - "version": "=3D=3D59.6.0" - }, - "six": { - "hashes": [ - "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e= 49de9c60c4c926", - "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771= 326f8aa26e0254" - ], - "markers": "python_version >=3D '2.7' and python_version not i= n '3.0, 3.1, 3.2, 3.3'", - "version": "=3D=3D1.16.0" - }, - "toml": { - "hashes": [ - "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894= a5f779cabb4f9b", - "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bd= ed2f839ccbe68f" - ], - "markers": "python_version >=3D '2.6' and python_version not i= n '3.0, 3.1, 3.2, 3.3'", - "version": "=3D=3D0.10.2" - }, - "tox": { - "hashes": [ - "sha256:c60692d92fe759f46c610ac04c03cf0169432d1ff8e981e8ae= 63e068d0954fc3", - "sha256:f179cb4043d7dc1339425dd49ab1dd8c916246b0d9173143c1= b0af7498a03ab0" - ], - "index": "pypi", - "version": "=3D=3D3.18.0" - }, - "typed-ast": { - "hashes": [ - "sha256:01ae5f73431d21eead5015997ab41afa53aa1fbe252f9da060= be5dad2c730ace", - "sha256:067a74454df670dcaa4e59349a2e5c81e567d8d65458d480a5= b3dfecec08c5ff", - "sha256:0fb71b8c643187d7492c1f8352f2c15b4c4af3f6338f21681d= 3681b3dc31a266", - "sha256:1b3ead4a96c9101bef08f9f7d1217c096f31667617b58de957= f690c92378b528", - "sha256:2068531575a125b87a41802130fa7e29f26c09a2833fea68d9= a40cf33902eba6", - "sha256:209596a4ec71d990d71d5e0d312ac935d86930e6eecff6ccc7= 007fe54d703808", - "sha256:2c726c276d09fc5c414693a2de063f521052d9ea7c240ce553= 316f70656c84d4", - "sha256:398e44cd480f4d2b7ee8d98385ca104e35c81525dd98c519ac= ff1b79bdaac363", - "sha256:52b1eb8c83f178ab787f3a4283f68258525f8d70f778a2f6dd= 54d3b5e5fb4341", - "sha256:5feca99c17af94057417d744607b82dd0a664fd5e4ca980614= 80fd8b14b18d04", - "sha256:7538e495704e2ccda9b234b82423a4038f324f3a10c43bc088= a1636180f11a41", - "sha256:760ad187b1041a154f0e4d0f6aae3e40fdb51d6de16e5c99ae= dadd9246450e9e", - "sha256:777a26c84bea6cd934422ac2e3b78863a37017618b6e5c08f9= 2ef69853e765d3", - "sha256:95431a26309a21874005845c21118c83991c63ea800dd44843= e42a916aec5899", - "sha256:9ad2c92ec681e02baf81fdfa056fe0d818645efa9af1f1cd5f= d6f1bd2bdfd805", - "sha256:9c6d1a54552b5330bc657b7ef0eae25d00ba7ffe85d9ea8ae6= 540d2197a3788c", - "sha256:aee0c1256be6c07bd3e1263ff920c325b59849dc95392a05f2= 58bb9b259cf39c", - "sha256:af3d4a73793725138d6b334d9d247ce7e5f084d96284ed23f2= 2ee626a7b88e39", - "sha256:b36b4f3920103a25e1d5d024d155c504080959582b928e91cb= 608a65c3a49e1a", - "sha256:b9574c6f03f685070d859e75c7f9eeca02d6933273b5e69572= e5ff9d5e3931c3", - "sha256:bff6ad71c81b3bba8fa35f0f1921fb24ff4476235a6e94a26a= da2e54370e6da7", - "sha256:c190f0899e9f9f8b6b7863debfb739abcb21a5c054f911ca35= 96d12b8a4c4c7f", - "sha256:c907f561b1e83e93fad565bac5ba9c22d96a54e7ea0267c708= bffe863cbe4075", - "sha256:cae53c389825d3b46fb37538441f75d6aecc4174f615d04832= 1b716df2757fb0", - "sha256:dd4a21253f42b8d2b48410cb31fe501d32f8b9fbeb1f55063a= d102fe9c425e40", - "sha256:dde816ca9dac1d9c01dd504ea5967821606f02e51043812009= 1b84e852367428", - "sha256:f2362f3cb0f3172c42938946dbc5b7843c2a28aec307c49100= c8b38764eb6927", - "sha256:f328adcfebed9f11301eaedfa48e15bdece9b519fb27e6a8c0= 1aa52a17ec31b3", - "sha256:f8afcf15cc511ada719a88e013cec87c11aff7b91f019295eb= 4530f96fe5ef2f", - "sha256:fb1bbeac803adea29cedd70781399c99138358c26d05fcbd23= c13016b7f5ec65" - ], - "markers": "python_version < '3.8' and implementation_name =3D= =3D 'cpython'", - "version": "=3D=3D1.4.3" - }, - "typing-extensions": { - "hashes": [ - "sha256:0ac0f89795dd19de6b97debb0c6af1c70987fd80a2d62d1958= f7e56fcc31b497", - "sha256:50b6f157849174217d0656f99dc82fe932884fb250826c1835= 0e159ec6cdf342", - "sha256:779383f6086d90c99ae41cf0ff39aac8a7937a9283ce0a414e= 5dd782f4c94a84" - ], - "index": "pypi", - "version": "=3D=3D3.10.0.0" - }, - "urwid": { - "hashes": [ - "sha256:588bee9c1cb208d0906a9f73c613d2bd32c3ed3702012f51ef= e318a3f2127eae" - ], - "index": "pypi", - "version": "=3D=3D2.1.2" - }, - "urwid-readline": { - "hashes": [ - "sha256:018020cbc864bb5ed87be17dc26b069eae2755cb29f3a9c569= aac3bded1efaf4" - ], - "index": "pypi", - "version": "=3D=3D0.13" - }, - "virtualenv": { - "hashes": [ - "sha256:14fdf849f80dbb29a4eb6caa9875d476ee2a5cf76a5f5415fa= 2f1606010ab467", - "sha256:2b0126166ea7c9c3661f5b8e06773d28f83322de7a3ff7d06f= 0aed18c9de6a76" - ], - "index": "pypi", - "version": "=3D=3D20.4.7" - }, - "wrapt": { - "hashes": [ - "sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec= 1eb88e6d9b97d7" - ], - "version": "=3D=3D1.12.1" - }, - "zipp": { - "hashes": [ - "sha256:3607921face881ba3e026887d8150cca609d517579abe052ac= 81fc5aeffdbd76", - "sha256:51cb66cc54621609dd593d1787f286ee42a5c0adbb4b29abea= 5a63edc3e03098" - ], - "index": "pypi", - "version": "=3D=3D3.4.1" - } - } -} diff --git a/python/setup.cfg b/python/setup.cfg index 56418157065..9e923d97628 100644 --- a/python/setup.cfg +++ b/python/setup.cfg @@ -33,9 +33,7 @@ packages =3D * =3D py.typed =20 [options.extras_require] -# For the devel group, When adding new dependencies or bumping the minimum -# version, use e.g. "pipenv install --dev pylint=3D=3D3.0.0". -# Subsequently, edit 'Pipfile' to remove e.g. 'pylint =3D "=3D=3D3.0.0'. +# Remember to update tests/minreqs.txt if changing anything below: devel =3D avocado-framework >=3D 90.0 flake8 >=3D 3.6.0 diff --git a/python/tests/minreqs.txt b/python/tests/minreqs.txt new file mode 100644 index 00000000000..dfb8abb155f --- /dev/null +++ b/python/tests/minreqs.txt @@ -0,0 +1,45 @@ +# This file lists the ***oldest possible dependencies*** needed to run +# "make check" successfully under ***Python 3.6***. It is used primarily +# by GitLab CI to ensure that our stated minimum versions in setup.cfg +# are truthful and regularly validated. +# +# This file should not contain any dependencies that are not expressed +# by the [devel] section of setup.cfg, except for transitive +# dependencies which must be enumerated here explicitly to eliminate +# dependency resolution ambiguity. +# +# When adding new dependencies, pin the very oldest non-yanked version +# on PyPI that allows the test suite to pass. + +# Dependencies for the TUI addon (Required for successful linting) +urwid=3D=3D2.1.2 +urwid-readline=3D=3D0.13 +Pygments=3D=3D2.9.0 + +# Dependencies for FUSE support for qom-fuse +fusepy=3D=3D2.0.4 + +# Test-runners, utilities, etc. +avocado-framework=3D=3D90.0 + +# Linters +flake8=3D=3D3.6.0 +isort=3D=3D5.1.2 +mypy=3D=3D0.780 +pylint=3D=3D2.8.0 + +# Transitive flake8 dependencies +mccabe=3D=3D0.6.0 +pycodestyle=3D=3D2.4.0 +pyflakes=3D=3D2.0.0 + +# Transitive mypy dependencies +mypy-extensions=3D=3D0.4.3 +typed-ast=3D=3D1.4.0 +typing-extensions=3D=3D3.7.4 + +# Transitive pylint dependencies +astroid=3D=3D2.5.4 +lazy-object-proxy=3D=3D1.4.0 +toml=3D=3D0.10.0 +wrapt=3D=3D1.12.1 diff --git a/tests/docker/dockerfiles/python.docker b/tests/docker/dockerfi= les/python.docker index 56d88417df4..175c10a34e8 100644 --- a/tests/docker/dockerfiles/python.docker +++ b/tests/docker/dockerfiles/python.docker @@ -7,7 +7,6 @@ MAINTAINER John Snow ENV PACKAGES \ gcc \ make \ - pipenv \ python3 \ python3-pip \ python3-tox \ --=20 2.39.0 From nobody Fri Nov 1 00:12:58 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1675957720; cv=none; d=zohomail.com; s=zohoarc; b=X7yZXTk6gXuOoFikTFbM374HQRIlyJ5uZL2abeOiGy/H9FisXkaZRg/BRThpOx8BUlj+GBRYABu86wCndtYpXV4dLnsmMYaFIArjdrdrfRLU4oy6ejg16Xmu44Za5jWpRNqdU3qk5uzz7APvZx6I7zQv256GeYxJyk/OpYrSM9E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1675957720; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=5HuGil72VbTu8JXPIwRlzXgWe/SWcTU8vf4autsPwzg=; b=bPii1NomfoM9xLxZ+E5OQOi9wfVDdq8IzXYFuixvO9me6ZWt4yxj/l8sty7c6l/EFj8SSRLcSJLPSQYpvwk9/8HifFheL6EW2k+iZSIjbJtKSiLgHlmjSKa+fNZCory/VSN2Y38/VCU7w5aqWFXApZ+NXrpk3RNqeFSgx5SJamg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1675957720393393.22763988539384; Thu, 9 Feb 2023 07:48:40 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pQ92f-0004g3-5G; Thu, 09 Feb 2023 10:40:57 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pQ92S-0004bj-KE for qemu-devel@nongnu.org; Thu, 09 Feb 2023 10:40:44 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pQ92O-0003Qn-Tr for qemu-devel@nongnu.org; Thu, 09 Feb 2023 10:40:43 -0500 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-265-b_bfUVQHO3OS-e9sqmtRfA-1; Thu, 09 Feb 2023 10:40:38 -0500 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 72B8A101B44E; Thu, 9 Feb 2023 15:40:37 +0000 (UTC) Received: from scv.redhat.com (unknown [10.22.16.119]) by smtp.corp.redhat.com (Postfix) with ESMTP id DD762492C3E; Thu, 9 Feb 2023 15:40:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1675957239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5HuGil72VbTu8JXPIwRlzXgWe/SWcTU8vf4autsPwzg=; b=YWA5Os5816dvQ0YTwo9tq26a0Iu13dRtOH9qgrzZmUV8aNtQw0suCyydD9qpwpI+At6dKj Cs9zwGy9keSwtaIDAeBdrnQhbn07wBQCI3ILqoja2Rh1g3+L0f3P7IhyqdCQ1VhLa6N3HG CiYmMb37FlUNrs2jwpJQzas4Upe9mi8= X-MC-Unique: b_bfUVQHO3OS-e9sqmtRfA-1 From: John Snow To: qemu-devel@nongnu.org Cc: Hanna Reitz , Kevin Wolf , Peter Maydell , Thomas Huth , qemu-block@nongnu.org, Wainer dos Santos Moschetta , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Markus Armbruster , Daniel Berrange , Paolo Bonzini , Michael Roth , Cleber Rosa , Beraldo Leal , John Snow , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PATCH 3/7] configure: Look for auxiliary Python installations Date: Thu, 9 Feb 2023 10:40:30 -0500 Message-Id: <20230209154034.983044-4-jsnow@redhat.com> In-Reply-To: <20230209154034.983044-1-jsnow@redhat.com> References: <20230209154034.983044-1-jsnow@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=jsnow@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1675957722644100001 Content-Type: text/plain; charset="utf-8" At the moment, we look for just "python3" and "python", which is good enough almost all of the time. But ... if you are on a platform that uses an older Python by default and only offers a newer Python as an option, you'll have to specify --python=3D/usr/bin/foo every time. We can be kind and instead make a cursory attempt to locate a suitable Python binary ourselves, looking for the remaining well-known binaries. This configure loop will prefer, in order: 1. Whatever is specified in $PYTHON 2. python3 3. python 4. python3.11 down through python3.6 Notes: - Python virtual environment provides binaries for "python3", "python", and whichever version you used to create the venv, e.g. "python3.8". If configure is invoked from inside of a venv, this configure loop will not "break out" of that venv unless that venv is created using an explicitly non-suitable version of Python that we cannot use. - In the event that no suitable python is found, the first python found is the version used to generate the human-readable error message. - The error message isn't printed right away to allow later configuration code to pick up an explicitly configured python. Signed-off-by: John Snow --- configure | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/configure b/configure index 64960c6000f..ea8c973d13b 100755 --- a/configure +++ b/configure @@ -592,20 +592,39 @@ esac =20 : ${make=3D${MAKE-make}} =20 -# We prefer python 3.x. A bare 'python' is traditionally -# python 2.x, but some distros have it as python 3.x, so -# we check that too + +check_py_version() { + # We require python >=3D 3.6. + # NB: a True python conditional creates a non-zero return code (Failur= e) + "$1" -c 'import sys; sys.exit(sys.version_info < (3,6))' +} + python=3D +first_python=3D explicit_python=3Dno -for binary in "${PYTHON-python3}" python +# A bare 'python' is traditionally python 2.x, but some distros +# have it as python 3.x, so check in both places. +for binary in "${PYTHON-python3}" python python3.{11..6} do if has "$binary" then python=3D$(command -v "$binary") - break + if test -z "$first_python"; then + first_python=3D$python + fi + if check_py_version "$python"; then + # This one is good. + first_python=3D + break + fi fi done =20 +# If first_python is set, we didn't find a suitable binary. +# Use this one for possible future error messages. +if test -n "$first_python"; then + python=3D"$first_python" +fi =20 # Check for ancillary tools used in testing genisoimage=3D @@ -1037,9 +1056,7 @@ then error_exit "GNU make ($make) not found" fi =20 -# Note that if the Python conditional here evaluates True we will exit -# with status 1 which is a shell 'false' value. -if ! $python -c 'import sys; sys.exit(sys.version_info < (3,6))'; then +if ! check_py_version "$python"; then error_exit "Cannot use '$python', Python >=3D 3.6 is required." \ "Use --python=3D/path/to/python to specify a supported Python." fi --=20 2.39.0 From nobody Fri Nov 1 00:12:58 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1675958736; cv=none; d=zohomail.com; s=zohoarc; b=jLObElfbCMg2RrrkPfUvzJD9LIh9gYYirWZnWc5e6jHds79x/ur/jG71p3vSMC76kKitJyrM629SIVt4biqMKEEmUcfjrlnsuQfsw4Do0NHvJdz1c70BpS3wyJUc9DL/8rpqBSHTBX/abRLQLuNE0CtHpAmL6kh7AaL9yySQp5s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1675958736; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=oARPzcd2LalPqfG8XtD5ejL2C6ow0gh9FdoUtiDmSyg=; b=e4r6pocTndZ7YAjWpCuqE9DPoDK+muRh02sVAroJ0+R2U9GKESUnBt29t0qJ+PX2RcfdONuiSchSIrIt2OAVPz6KNcGsoYhn7xFi35YcC6Di/urZmZXDInta8HOMESnPSULKC83fLT6WccUA+M434aU6osc50yUiTBDjYbbZOW8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1675958736234337.15885147856034; Thu, 9 Feb 2023 08:05:36 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pQ92g-0004hQ-9q; Thu, 09 Feb 2023 10:40:58 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pQ92T-0004cQ-8y for qemu-devel@nongnu.org; Thu, 09 Feb 2023 10:40:46 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pQ92Q-0003RC-PM for qemu-devel@nongnu.org; Thu, 09 Feb 2023 10:40:44 -0500 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-345-eLxj_EVkPoyJMVkZrCsgaQ-1; Thu, 09 Feb 2023 10:40:38 -0500 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 2C6CB18A6461; Thu, 9 Feb 2023 15:40:38 +0000 (UTC) Received: from scv.redhat.com (unknown [10.22.16.119]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7E8B5492C3E; Thu, 9 Feb 2023 15:40:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1675957242; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=oARPzcd2LalPqfG8XtD5ejL2C6ow0gh9FdoUtiDmSyg=; b=Ra3NV6TR3J8mITIML7NxoH/9hPL1kOIJWsNRyLZK8tOtDz+iC/zrbwlXxrP2JF9ndwk1AW cpRkWltR4aDEE6S6m2Bd9q8dgYXNK6vj8hpQYSluRG3B0pZS0tja9aLwZMnpbAPlLw8GyT CxBatjUjhgY0Io7eV7hVUUxNxC4nKNM= X-MC-Unique: eLxj_EVkPoyJMVkZrCsgaQ-1 From: John Snow To: qemu-devel@nongnu.org Cc: Hanna Reitz , Kevin Wolf , Peter Maydell , Thomas Huth , qemu-block@nongnu.org, Wainer dos Santos Moschetta , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Markus Armbruster , Daniel Berrange , Paolo Bonzini , Michael Roth , Cleber Rosa , Beraldo Leal , John Snow , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PATCH 4/7] configure: Add nice hint to Python failure message Date: Thu, 9 Feb 2023 10:40:31 -0500 Message-Id: <20230209154034.983044-5-jsnow@redhat.com> In-Reply-To: <20230209154034.983044-1-jsnow@redhat.com> References: <20230209154034.983044-1-jsnow@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=jsnow@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1675958737839100003 Content-Type: text/plain; charset="utf-8" If we begin requiring Python 3.7+, a few platforms are going to need to install an additional package. This is at least mildly annoying to the user (and I hate negative attention), so solve the user's problem for them before they get a chance to become irritated while searching on Google for how to install newer Python packages. Signed-off-by: John Snow --- configure | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/configure b/configure index ea8c973d13b..bf512273f44 100755 --- a/configure +++ b/configure @@ -1058,7 +1058,10 @@ fi =20 if ! check_py_version "$python"; then error_exit "Cannot use '$python', Python >=3D 3.6 is required." \ - "Use --python=3D/path/to/python to specify a supported Python." + "Use --python=3D/path/to/python to specify a supported Python= ." \ + "Maybe try:" \ + " openSUSE Leap 15.3+: zypper install python39" \ + " CentOS 8: dnf install python38" fi =20 # Suppress writing compiled files --=20 2.39.0 From nobody Fri Nov 1 00:12:58 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1675959398; cv=none; d=zohomail.com; s=zohoarc; b=XQwa7ZLP/dcNahrckMtVFo2O/6WvRJ/TLH9WbqLlWC8FTa6ikxnkRR6l5qXER6GkzMy8s5W5bCdzMq9K5AtlMjQRZ37Jk0Z9IsEtS50bvYDDyI3CbeHjIt5j2g3+WCEk5egvjwQwmyUXUKrMXo3rYgltrkKyhZFJEggGpH37eVI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1675959398; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=k+zAdi3DotFrV+nBOCjZLYxDifDJx2ogLehcJqha8m8=; b=FeG7P1gDDfhxdVelnDmImCqlBMqg+Ew8fPBtN1stxUcUAQz2f8m3D4zR9dbl95B3T65p1ZX5tU8XwfBV0cR2wl0VLeHaP6NmunDA5+vF8qpxgJILbm+eDLqeXtGmptCeRG2PBWStKXFucMJFbh4ewVs0MRWx03NilYTIyVuR0fE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1675959398692805.8056778373942; Thu, 9 Feb 2023 08:16:38 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pQ92d-0004ez-UP; Thu, 09 Feb 2023 10:40:55 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pQ92T-0004cS-Ca for qemu-devel@nongnu.org; Thu, 09 Feb 2023 10:40:46 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pQ92Q-0003RN-Vf for qemu-devel@nongnu.org; Thu, 09 Feb 2023 10:40:45 -0500 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-407-2X2x8aOCNEO8lAXpPHwWhA-1; Thu, 09 Feb 2023 10:40:39 -0500 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id C2A0E18A646D; Thu, 9 Feb 2023 15:40:38 +0000 (UTC) Received: from scv.redhat.com (unknown [10.22.16.119]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3A0E4492C3E; Thu, 9 Feb 2023 15:40:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1675957242; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=k+zAdi3DotFrV+nBOCjZLYxDifDJx2ogLehcJqha8m8=; b=e3P0SWmDyk+d+4HUu7YqafYgj3JKrtpzrCGyo5+9APvkg+W96RlgTfm7G9zXkMsUociPtg qwln7r7kAciGIrwVtbqBR50GYB4b/AmExvjRm3mIT3mb5XptZDOjfk/5AU1Xo24QMg/0TP q+NzBYI00rtL7oykN7bcodLpiookFQY= X-MC-Unique: 2X2x8aOCNEO8lAXpPHwWhA-1 From: John Snow To: qemu-devel@nongnu.org Cc: Hanna Reitz , Kevin Wolf , Peter Maydell , Thomas Huth , qemu-block@nongnu.org, Wainer dos Santos Moschetta , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Markus Armbruster , Daniel Berrange , Paolo Bonzini , Michael Roth , Cleber Rosa , Beraldo Leal , John Snow , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PATCH 5/7] testing: Add Python >= 3.7 to Centos, OpenSuSE Date: Thu, 9 Feb 2023 10:40:32 -0500 Message-Id: <20230209154034.983044-6-jsnow@redhat.com> In-Reply-To: <20230209154034.983044-1-jsnow@redhat.com> References: <20230209154034.983044-1-jsnow@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=jsnow@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1675959400242100005 Content-Type: text/plain; charset="utf-8" This is just a proof-of-concept patch, as these files are lcitool generated. The real fix will involve updating the lcitool configuration and updating these files that way. Note that this requires OpenSuSE Leap 15.3; 15.2 won't cut it. This is just to prove that bumping our dependency works. Signed-off-by: John Snow --- tests/docker/dockerfiles/centos8.docker | 1 + tests/docker/dockerfiles/opensuse-leap.docker | 1 + 2 files changed, 2 insertions(+) diff --git a/tests/docker/dockerfiles/centos8.docker b/tests/docker/dockerf= iles/centos8.docker index fbc953c6dcc..a3bfddf382d 100644 --- a/tests/docker/dockerfiles/centos8.docker +++ b/tests/docker/dockerfiles/centos8.docker @@ -95,6 +95,7 @@ RUN dnf distro-sync -y && \ pkgconfig \ pulseaudio-libs-devel \ python3 \ + python38 \ python3-PyYAML \ python3-numpy \ python3-pillow \ diff --git a/tests/docker/dockerfiles/opensuse-leap.docker b/tests/docker/d= ockerfiles/opensuse-leap.docker index 4b2c02d6abf..9e688c1d441 100644 --- a/tests/docker/dockerfiles/opensuse-leap.docker +++ b/tests/docker/dockerfiles/opensuse-leap.docker @@ -89,6 +89,7 @@ RUN zypper update -y && \ pam-devel \ pcre-devel-static \ pkgconfig \ + python39 \ python3-Pillow \ python3-PyYAML \ python3-Sphinx \ --=20 2.39.0 From nobody Fri Nov 1 00:12:58 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1675959397; cv=none; d=zohomail.com; s=zohoarc; b=Kq7E1r68MO8Kf39CXjJSyuIUzzL3uuZQK1teLKHPWlh2xArOLB3BQTuleSr75SEhAul9ABaCkeI2KtviwAZWA5OiNjl0A0K7xYV7gSrmsy8Xfn6dMpTuimuGN5rB+i/ZEwY9zexSaKv7lLbVYOUnxKjGkfeFKUFT8V7Ynvb0mjc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1675959397; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=U54WokiUctDzyHuFrBNtx2P9sKpUuT2JRoYcbCKMNjM=; b=AFjpIk8dg9P8Xt3cCw2gUcVa0Xlk4Q9SkB3amdTYP5tDSPk+Urbdq2ibniR/9OuRzculv11tbDG9RaAdzZKYnk/thGVuCXud3Duc5IxbMixPnxW9WJfrnqaYC2nwORlSIpLcgjVkpfPfTueyEL94cUW4BDHlpBISncltiL01uXI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1675959396902574.7249971388721; Thu, 9 Feb 2023 08:16:36 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pQ92d-0004eN-AA; Thu, 09 Feb 2023 10:40:55 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pQ92U-0004cd-FS for qemu-devel@nongnu.org; Thu, 09 Feb 2023 10:40:46 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pQ92R-0003RZ-U5 for qemu-devel@nongnu.org; Thu, 09 Feb 2023 10:40:46 -0500 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-76-K2zqr9bgMDWrhaga9vixOQ-1; Thu, 09 Feb 2023 10:40:39 -0500 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 62231185A7A4; Thu, 9 Feb 2023 15:40:39 +0000 (UTC) Received: from scv.redhat.com (unknown [10.22.16.119]) by smtp.corp.redhat.com (Postfix) with ESMTP id CF757492C3E; Thu, 9 Feb 2023 15:40:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1675957243; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=U54WokiUctDzyHuFrBNtx2P9sKpUuT2JRoYcbCKMNjM=; b=YxOUDKE5XMGNsl0C7EeOZfzkBcynHuHjA0y05/u3uXZIWUPVsDMixWggOfGajEXc6wxVqF kd44DcocqfKdiT0HboNEsaVca/4mWG/t7uIlwOdusdj7UgajjDFLSWaWugNfAsz37iNgZH Il5Rb/kUZdbpMDb8KH7X2P0CzfhXPro= X-MC-Unique: K2zqr9bgMDWrhaga9vixOQ-1 From: John Snow To: qemu-devel@nongnu.org Cc: Hanna Reitz , Kevin Wolf , Peter Maydell , Thomas Huth , qemu-block@nongnu.org, Wainer dos Santos Moschetta , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Markus Armbruster , Daniel Berrange , Paolo Bonzini , Michael Roth , Cleber Rosa , Beraldo Leal , John Snow , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PATCH 6/7] CI: Stop building docs on centos8 Date: Thu, 9 Feb 2023 10:40:33 -0500 Message-Id: <20230209154034.983044-7-jsnow@redhat.com> In-Reply-To: <20230209154034.983044-1-jsnow@redhat.com> References: <20230209154034.983044-1-jsnow@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=jsnow@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1675959398540100001 Content-Type: text/plain; charset="utf-8" CentOS 8 does not ship with a sphinx new enough for our purposes (It necessarily uses Python 3.6), so drop this from this build. We can resume building docs on CentOS 9 if we wish, but we also currently test and build docs on Fedora, Ubuntu, Alpine and Debian. Signed-off-by: John Snow Reviewed-by: Thomas Huth --- .gitlab-ci.d/buildtest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml index 0aa149a3524..0eb7f6606d4 100644 --- a/.gitlab-ci.d/buildtest.yml +++ b/.gitlab-ci.d/buildtest.yml @@ -166,7 +166,7 @@ build-system-centos: variables: IMAGE: centos8 CONFIGURE_ARGS: --disable-nettle --enable-gcrypt --enable-fdt=3Dsystem - --enable-modules --enable-trace-backends=3Ddtrace --enable-docs + --enable-modules --enable-trace-backends=3Ddtrace --enable-vfio-user-server TARGETS: ppc64-softmmu or1k-softmmu s390x-softmmu x86_64-softmmu rx-softmmu sh4-softmmu nios2-softmmu --=20 2.39.0 From nobody Fri Nov 1 00:12:58 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1675957667; cv=none; d=zohomail.com; s=zohoarc; b=di9jY3ck8bLr78dN9zV67YCZHLezyOzurlAhhPyspNKrMq3/6CAI2swxY3+qQcLL1eD77FT3qmD1HmJrYDzJiMCpzVTzBDoKiipzNAgmNDMqU8upwSgpq0U6ohuJlw7MelZN510i4EqAgfI5WIB6+IRA7CxX+13z/azXTc/1rLk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1675957667; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Mj/aI4862bgjVKFo4ketmF2iEvl7cVLVIZBRxicWzYc=; b=eOzFPF0fH03mXxBv2MYMx/NIh1mydJv5HT/HTFV5oQTRSSB3roVu+buXCoaCDxGxMilR31iGnCidO3ygPoGHf/Xw+EweGQts+p8zTkZmmTePIlu0TkK0aPRgAFdruuu6omQJWjEpUJ7icKxzGpA1F3eyu08uRTix8cCaJxBMEOA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 167595766735253.32712491855705; Thu, 9 Feb 2023 07:47:47 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pQ92h-0004hV-0V; Thu, 09 Feb 2023 10:40:59 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pQ92V-0004dP-4d for qemu-devel@nongnu.org; Thu, 09 Feb 2023 10:40:48 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pQ92S-0003Rn-Di for qemu-devel@nongnu.org; Thu, 09 Feb 2023 10:40:46 -0500 Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-657-xn4LIz-WM56IcC3B8XqHYg-1; Thu, 09 Feb 2023 10:40:40 -0500 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 0541C1C0879D; Thu, 9 Feb 2023 15:40:40 +0000 (UTC) Received: from scv.redhat.com (unknown [10.22.16.119]) by smtp.corp.redhat.com (Postfix) with ESMTP id 720F9492C3E; Thu, 9 Feb 2023 15:40:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1675957243; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Mj/aI4862bgjVKFo4ketmF2iEvl7cVLVIZBRxicWzYc=; b=eEjZxX6GGTfUnuL9lj1ghQlg6EIJW2zOSoEexoUcEbcL/9vHr0tlf1POyNHRV63QlKaEVb Wk3BPrnLyX6VCBqr+PbtV1Vf311jqYHNkRXQ/ui46YOV+S8ijGB8J8FIGUCLzBT7JIdsSN qTTjiUel8nu/JtmSsSfAWaEhsltSZv0= X-MC-Unique: xn4LIz-WM56IcC3B8XqHYg-1 From: John Snow To: qemu-devel@nongnu.org Cc: Hanna Reitz , Kevin Wolf , Peter Maydell , Thomas Huth , qemu-block@nongnu.org, Wainer dos Santos Moschetta , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Markus Armbruster , Daniel Berrange , Paolo Bonzini , Michael Roth , Cleber Rosa , Beraldo Leal , John Snow , =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PATCH 7/7] Python: Drop support for Python 3.6 Date: Thu, 9 Feb 2023 10:40:34 -0500 Message-Id: <20230209154034.983044-8-jsnow@redhat.com> In-Reply-To: <20230209154034.983044-1-jsnow@redhat.com> References: <20230209154034.983044-1-jsnow@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=jsnow@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1675957668187100001 Content-Type: text/plain; charset="utf-8" Python 3.6 was EOL 2021-12-31. Newer versions of upstream libraries have begun dropping support for this version and it is becoming more cumbersome to support. Avocado-framework and qemu.qmp each have their own reasons for wanting to drop Python 3.6. Since it is safe to under our supported platform policy, do so. Signed-off-by: John Snow --- docs/conf.py | 4 ++-- configure | 8 ++++---- python/Makefile | 10 +++++----- python/setup.cfg | 7 +++---- python/tests/minreqs.txt | 2 +- scripts/qapi/mypy.ini | 2 +- 6 files changed, 16 insertions(+), 17 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 73a287a4f27..d40448f35d9 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -37,9 +37,9 @@ # In newer versions of Sphinx this will display nicely; in older versions # Sphinx will also produce a Python backtrace but at least the information # gets printed... -if sys.version_info < (3,6): +if sys.version_info < (3,7): raise ConfigError( - "QEMU requires a Sphinx that uses Python 3.6 or better\n") + "QEMU requires a Sphinx that uses Python 3.7 or better\n") =20 # The per-manual conf.py will set qemu_docdir for a single-manual build; # otherwise set it here if this is an entire-manual-set build. diff --git a/configure b/configure index bf512273f44..de27994ddc8 100755 --- a/configure +++ b/configure @@ -594,9 +594,9 @@ esac =20 =20 check_py_version() { - # We require python >=3D 3.6. + # We require python >=3D 3.7. # NB: a True python conditional creates a non-zero return code (Failur= e) - "$1" -c 'import sys; sys.exit(sys.version_info < (3,6))' + "$1" -c 'import sys; sys.exit(sys.version_info < (3,7))' } =20 python=3D @@ -604,7 +604,7 @@ first_python=3D explicit_python=3Dno # A bare 'python' is traditionally python 2.x, but some distros # have it as python 3.x, so check in both places. -for binary in "${PYTHON-python3}" python python3.{11..6} +for binary in "${PYTHON-python3}" python python3.{11..7} do if has "$binary" then @@ -1057,7 +1057,7 @@ then fi =20 if ! check_py_version "$python"; then - error_exit "Cannot use '$python', Python >=3D 3.6 is required." \ + error_exit "Cannot use '$python', Python >=3D 3.7 is required." \ "Use --python=3D/path/to/python to specify a supported Python= ." \ "Maybe try:" \ " openSUSE Leap 15.3+: zypper install python39" \ diff --git a/python/Makefile b/python/Makefile index c5bd6ff83ac..f660d999143 100644 --- a/python/Makefile +++ b/python/Makefile @@ -9,14 +9,14 @@ help: @echo "make check-minreqs:" @echo " Run tests in the minreqs virtual environment." @echo " These tests use the oldest dependencies." - @echo " Requires: Python 3.6" - @echo " Hint (Fedora): 'sudo dnf install python3.6'" + @echo " Requires: Python 3.7" + @echo " Hint (Fedora): 'sudo dnf install python3.7'" @echo "" @echo "make check-tox:" @echo " Run tests against multiple python versions." @echo " These tests use the newest dependencies." - @echo " Requires: Python 3.6 - 3.10, and tox." - @echo " Hint (Fedora): 'sudo dnf install python3-tox python3.10'" + @echo " Requires: Python 3.7 - 3.11, and tox." + @echo " Hint (Fedora): 'sudo dnf install python3-tox python3.11'" @echo " The variable QEMU_TOX_EXTRA_ARGS can be use to pass extra" @echo " arguments to tox". @echo "" @@ -58,7 +58,7 @@ pipenv check-pipenv: min-venv: $(QEMU_MINVENV_DIR) $(QEMU_MINVENV_DIR)/bin/activate $(QEMU_MINVENV_DIR) $(QEMU_MINVENV_DIR)/bin/activate: setup.cfg tests/minr= eqs.txt @echo "VENV $(QEMU_MINVENV_DIR)" - @python3.6 -m venv $(QEMU_MINVENV_DIR) + @python3.7 -m venv $(QEMU_MINVENV_DIR) @( \ echo "ACTIVATE $(QEMU_MINVENV_DIR)"; \ . $(QEMU_MINVENV_DIR)/bin/activate; \ diff --git a/python/setup.cfg b/python/setup.cfg index 9e923d97628..1e8392a045c 100644 --- a/python/setup.cfg +++ b/python/setup.cfg @@ -14,7 +14,6 @@ classifiers =3D Natural Language :: English Operating System :: OS Independent Programming Language :: Python :: 3 :: Only - Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 @@ -23,7 +22,7 @@ classifiers =3D Typing :: Typed =20 [options] -python_requires =3D >=3D 3.6 +python_requires =3D >=3D 3.7 packages =3D qemu.qmp qemu.machine @@ -76,7 +75,7 @@ exclude =3D __pycache__, =20 [mypy] strict =3D True -python_version =3D 3.6 +python_version =3D 3.7 warn_unused_configs =3D True namespace_packages =3D True warn_unused_ignores =3D False @@ -158,7 +157,7 @@ multi_line_output=3D3 # of python available on your system to run this test. =20 [tox:tox] -envlist =3D py36, py37, py38, py39, py310, py311 +envlist =3D py37, py38, py39, py310, py311 skip_missing_interpreters =3D true =20 [testenv] diff --git a/python/tests/minreqs.txt b/python/tests/minreqs.txt index dfb8abb155f..55cc6b41d85 100644 --- a/python/tests/minreqs.txt +++ b/python/tests/minreqs.txt @@ -1,5 +1,5 @@ # This file lists the ***oldest possible dependencies*** needed to run -# "make check" successfully under ***Python 3.6***. It is used primarily +# "make check" successfully under ***Python 3.7***. It is used primarily # by GitLab CI to ensure that our stated minimum versions in setup.cfg # are truthful and regularly validated. # diff --git a/scripts/qapi/mypy.ini b/scripts/qapi/mypy.ini index 66253564297..3463307ddc7 100644 --- a/scripts/qapi/mypy.ini +++ b/scripts/qapi/mypy.ini @@ -1,7 +1,7 @@ [mypy] strict =3D True disallow_untyped_calls =3D False -python_version =3D 3.6 +python_version =3D 3.7 =20 [mypy-qapi.schema] disallow_untyped_defs =3D False --=20 2.39.0