From nobody Mon Apr 29 16:07:01 2024 Delivered-To: importer@patchew.org Received-SPF: temperror (zoho.com: Error in retrieving data from DNS) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=temperror (zoho.com: Error in retrieving data from DNS) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 1553706522556363.9050984661227; Wed, 27 Mar 2019 10:08:42 -0700 (PDT) Received: from localhost ([127.0.0.1]:50985 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h9C2I-0006BT-GP for importer@patchew.org; Wed, 27 Mar 2019 13:08:22 -0400 Received: from eggs.gnu.org ([209.51.188.92]:42046) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h9C18-0005jM-Sn for qemu-devel@nongnu.org; Wed, 27 Mar 2019 13:07:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h9C16-0001Zs-Ie for qemu-devel@nongnu.org; Wed, 27 Mar 2019 13:07:10 -0400 Received: from mx1.redhat.com ([209.132.183.28]:32868) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h9C14-0001YS-Li for qemu-devel@nongnu.org; Wed, 27 Mar 2019 13:07:07 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id CA6443078AD3 for ; Wed, 27 Mar 2019 17:07:04 +0000 (UTC) Received: from localhost.localdomain.com (ovpn-112-25.ams2.redhat.com [10.36.112.25]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1A83060F9B; Wed, 27 Mar 2019 17:07:02 +0000 (UTC) From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Date: Wed, 27 Mar 2019 17:07:01 +0000 Message-Id: <20190327170701.23798-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.48]); Wed, 27 Mar 2019 17:07:04 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v3] configure: automatically pick python3 is available X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eduardo Habkost Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" Unless overridden via an env var or configure arg, QEMU will only look for the 'python' binary in $PATH. This is unhelpful on distros which are only shipping Python 3.x (eg Fedora) in their default install as, if they comply with PEP 394, the bare 'python' binary won't exist. This changes configure so that by default it will search for all three common python binaries, preferring to find Python 3.x versions. Signed-off-by: Daniel P. Berrang=C3=A9 --- Changed in v3: - 100% fewer tabs configure | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/configure b/configure index 1c563a7027..8fb323c320 100755 --- a/configure +++ b/configure @@ -902,7 +902,18 @@ fi =20 : ${make=3D${MAKE-make}} : ${install=3D${INSTALL-install}} -: ${python=3D${PYTHON-python}} +# 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 before python2 +python=3D +for binary in "${PYTHON-python3}" python python2 +do + if has "$binary" + then + python=3D"$binary" + break + fi +done : ${smbd=3D${SMBD-/usr/sbin/smbd}} =20 # Default objcc to clang if available, otherwise use CC @@ -1824,8 +1835,9 @@ EOF exit 0 fi =20 -if ! has $python; then - error_exit "Python not found. Use --python=3D/path/to/python" +if test -z "$python" +then + error_exit "Python not found. Use --python=3D/path/to/python" fi =20 # Note that if the Python conditional here evaluates True we will exit --=20 2.20.1