public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Kinney, Michael D" <michael.d.kinney@intel.com>
To: "Gao, Liming" <liming.gao@intel.com>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>,
	"Kinney, Michael D" <michael.d.kinney@intel.com>
Cc: "leif.lindholm@linaro.org" <leif.lindholm@linaro.org>,
	"Laszlo Ersek (lersek@redhat.com)" <lersek@redhat.com>,
	"afish@apple.com" <afish@apple.com>
Subject: Re: [RFC] Proposal on Python3 Migration
Date: Fri, 16 Nov 2018 15:58:08 +0000	[thread overview]
Message-ID: <E92EE9817A31E24EB0585FDF735412F5B8B314E3@ORSMSX113.amr.corp.intel.com> (raw)
In-Reply-To: <4A89E2EF3DFEDB4C8BFDE51014F606A14E36DDA6@SHSMSX104.ccr.corp.intel.com>

Liming,

Adding a new Python3 directory will increase the maintenance and testing of the python-based BaseTools.

It would be better if we could have one version of the python sources that work with both Python2 and Python3.

We should use the edk2-staging branch to work towards this goal.

Please explain why we can't support both in single set of sources.  Are there technical reasons or resource reasons?

Thanks,

Mike

From: Gao, Liming
Sent: Friday, November 16, 2018 7:02 AM
To: edk2-devel@lists.01.org
Cc: Kinney, Michael D <michael.d.kinney@intel.com>; leif.lindholm@linaro.org; Laszlo Ersek (lersek@redhat.com) <lersek@redhat.com>; afish@apple.com
Subject: [RFC] Proposal on Python3 Migration

Hi, all
  https://pythonclock.org/ say Python 2.7 will not be maintained past 2020. One BZ https://bugzilla.tianocore.org/show_bug.cgi?id=55 also requests this migration. And, Python37 does good performance optimization. In EDK2 build, Python37 can improve 20% performance than Python27 in Build AutoGen phase. So, we plan to add Python3 support in BaseTools. In previous discussion, the feedback is not to drop Python2 support in short term, and keep Python2 and Python3 coexist.

My proposal is to add two copy BaseTools Python code in BaseTools/Source directory. One is current BaseTools/Source/Python, another is new BaseTools/Source/Python3. edksetup.bat/edksetup.sh base on environment variable (PYTHON3_HOME) to know whether Python3 is used. If PYTHON3_HOME is not set, Python2 is still used as current way. If user wants to enable Python3, he needs to set PYTHON3_HOME. After 201811 release tag, BaseTools Python2 source code is kept as the stable release. Python3 is as the active trunk. By default, any change will be for Python3. If the submitter also request the change for Python2, he needs to list it in BZ description. If the submitter has the clear request, Python2 can add new feature or enhancement.

  If you have any comments or suggestion on Python3 migration, please join this discussion.

Thanks
Liming



      reply	other threads:[~2018-11-16 15:58 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-16 15:02 [RFC] Proposal on Python3 Migration Gao, Liming
2018-11-16 15:58 ` Kinney, Michael D [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E92EE9817A31E24EB0585FDF735412F5B8B314E3@ORSMSX113.amr.corp.intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox