From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.groups.io with SMTP id smtpd.web11.2076.1627070558111728440 for ; Fri, 23 Jul 2021 13:02:38 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=amci3eJD; spf=pass (domain: redhat.com, ip: 216.205.24.124, mailfrom: crobinso@redhat.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1627070557; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5VAYT6h05l3wTcFT+0s30EVUomfHpwam/zaQ0XVuvKQ=; b=amci3eJDXE0p+i3SmAr/biU3QnRaTyn+84NUhyxI6C+jn4BVJ/CqrFC4sDD9GJWpOWQC/U c01ymDFYi4SukSl5ELRnMSL8WV+qDe3i84oFcKeJuhmVKxm+qeSdZQNqgs8QowgvbPU+lO AP0DRaHFbhTkMjC8+oX7OAIlarRQCGs= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-191-bp3CKOkJPZqU4BqPTtjANQ-1; Fri, 23 Jul 2021 16:02:35 -0400 X-MC-Unique: bp3CKOkJPZqU4BqPTtjANQ-1 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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 6055487D542 for ; Fri, 23 Jul 2021 20:02:34 +0000 (UTC) Received: from worklaptop.redhat.com (unknown [10.22.18.9]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1042E100238C; Fri, 23 Jul 2021 20:02:33 +0000 (UTC) From: "Cole" To: devel@edk2.groups.io Cc: Cole Robinson Subject: [PATCH 2/3] python: Replace distutils.utils.split_quotes with shlex.split Date: Fri, 23 Jul 2021 16:02:27 -0400 Message-Id: <77f2b41ac406a86ad62d5eb1bc88350cd10468a8.1627070203.git.crobinso@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=crobinso@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="US-ASCII" distutils is deprecated and may be removed in python 3.12. Use shlex.split which has been around since python 2.3. shlex.split does not split on all the ASCII control characters that split_quoted will[1], but for edk2 usage I don't think that matters. [1] https://stackoverflow.com/questions/54999301/what-is-the-difference-bet= ween-distutils-util-split-quoted-and-shlex-split Signed-off-by: Cole Robinson --- BaseTools/Source/Python/AutoGen/UniClassObject.py | 4 ++-- BaseTools/Source/Python/UPT/Library/UniClassObject.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/BaseTools/Source/Python/AutoGen/UniClassObject.py b/BaseTools/= Source/Python/AutoGen/UniClassObject.py index 883c2356e0..b16330e368 100644 --- a/BaseTools/Source/Python/AutoGen/UniClassObject.py +++ b/BaseTools/Source/Python/AutoGen/UniClassObject.py @@ -12,7 +12,7 @@ #=0D from __future__ import print_function=0D import Common.LongFilePathOs as os, codecs, re=0D -import distutils.util=0D +import shlex=0D import Common.EdkLogger as EdkLogger=0D from io import BytesIO=0D from Common.BuildToolError import *=0D @@ -233,7 +233,7 @@ class UniFileClassObject(object): # Get Language definition=0D #=0D def GetLangDef(self, File, Line):=0D - Lang =3D distutils.util.split_quoted((Line.split(u"//")[0]))=0D + Lang =3D shlex.split(Line.split(u"//")[0])=0D if len(Lang) !=3D 3:=0D try:=0D FileIn =3D UniFileClassObject.OpenUniFile(LongFilePath(Fil= e.Path))=0D diff --git a/BaseTools/Source/Python/UPT/Library/UniClassObject.py b/BaseTo= ols/Source/Python/UPT/Library/UniClassObject.py index d25f300146..8c44dc2252 100644 --- a/BaseTools/Source/Python/UPT/Library/UniClassObject.py +++ b/BaseTools/Source/Python/UPT/Library/UniClassObject.py @@ -14,7 +14,7 @@ from __future__ import print_function # Import Modules=0D #=0D import os, codecs, re=0D -import distutils.util=0D +import shlex=0D from Logger import ToolError=0D from Logger import Log as EdkLogger=0D from Logger import StringTable as ST=0D @@ -320,7 +320,7 @@ class UniFileClassObject(object): # Get Language definition=0D #=0D def GetLangDef(self, File, Line):=0D - Lang =3D distutils.util.split_quoted((Line.split(u"//")[0]))=0D + Lang =3D shlex.split(Line.split(u"//")[0])=0D if len(Lang) !=3D 3:=0D try:=0D FileIn =3D codecs.open(File.Path, mode=3D'rb', encoding=3D= 'utf_8').readlines()=0D --=20 2.31.1