From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=209.132.183.28; helo=mx1.redhat.com; envelope-from=lersek@redhat.com; receiver=edk2-devel@lists.01.org Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id E5051210FBEE9 for ; Tue, 29 Jan 2019 05:07:25 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C36D7CDDF9; Tue, 29 Jan 2019 13:07:24 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-121-45.rdu2.redhat.com [10.10.121.45]) by smtp.corp.redhat.com (Postfix) with ESMTP id 266FC1048131; Tue, 29 Jan 2019 13:07:23 +0000 (UTC) To: "Feng, Bob C" References: <20190129020610.14300-1-bob.c.feng@intel.com> Cc: edk2-devel@lists.01.org From: Laszlo Ersek Message-ID: Date: Tue, 29 Jan 2019 14:07:23 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20190129020610.14300-1-bob.c.feng@intel.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Tue, 29 Jan 2019 13:07:24 +0000 (UTC) Subject: Re: [Patch v2 00/33] BaseTools python3 migration patch set X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jan 2019 13:07:26 -0000 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Hi Bob, On 01/29/19 03:05, Feng, Bob C wrote: > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=55 > > V2: > The python files under CParser4 folder of ECC/Eot tool > are generated by antlr4 and forpython3 usage. > They have python3 specific syntax, for example > the data type declaration for the arguments of a function. That > is not compitable with python2. this patch is to remove these syntax. > > The version2 patch set is commit to https://github.com/BobCF/edk2.git > branch py3basetools_v2 (reusing the "test plan" from my email at :) I ran the following tests, at commit 6edb6bd9f182 ("BaseTools: Eot tool Python3 adaption", 2019-01-29). Each test was performed in a clean tree (after running "git clean -ffdx") and clean environment (I re-sourced "edksetup.sh" for each test in separation). In addition, the base tools were rebuilt (again from a clean tree) for each test, with the following command [1]: nice make -C "$EDK_TOOLS_PATH" -j $(getconf _NPROCESSORS_ONLN) (a) On my RHEL7.5 Workstation laptop, I have both the system-level python packages installed (python-2.7.5-69.el7_5.x86_64), and the extra python-3.4 stuff from EPEL-7 (python34-3.4.9-1.el7.x86_64). (a1) Didn't set either PYTHON3_ENABLE or PYTHON_COMMAND. The build utility picked PYTHON_COMMAND = /usr/bin/python3.4 and I successfully built OvmfPkg for IA32, IA32X64, and X64; also ArmVirtQemu for AARCH64. The built firmware images passed a smoke test too. (a2) I removed all the python34 packages (and the dependent packages) from my laptop. Didn't set either of PYTHON3_ENABLE and PYTHON_COMMAND. (This is the configuration what a "normal" RHEL7 environment would provide.) The "build" utility didn't print any PYTHON_COMMAND setting, but the same fw platform builds as in (a1) completed fine. The smoke tests passed again as well. (b) RHEL-8 virtual machine, with "/usr/bin/python3.6" from python36-3.6.6-18.el8.x86_64, and "/usr/libexec/platform-python" from platform-python-3.6.8-1.el8.x86_64. (b1) Didn't set either PYTHON3_ENABLE or PYTHON_COMMAND. The build utility picked PYTHON_COMMAND = /usr/bin/python3.6 and I successfully built OvmfPkg for IA32, IA32X64, and X64. (I don't have a cross-compiler installed in this environment yet, nor a RHEL8 aarch64 KVM guest, so I couldn't test ArmVirtQemu for now). (b2) I set PYTHON_COMMAND to "/usr/libexec/platform-python". Didn't set PYTHON3_ENABLE. The same builds as in (b1) succeeded. For the series: Tested-by: Laszlo Ersek Given that the testing is quite time consuming, I suggest that we push v2 (assuming reviewers don't find critical issues), and address small issues incrementally. Thanks! Laszlo