Sorry I haven’t had a chance to look at it. I’ll try and find some time this weekend.
On Thu, Jul 13, 2023, at 9:26 AM, Joey Vagedes via groups.io wrote: > Thank you for the review Michael. @Rebecca Cran > <mailto:rebe...@bsdio.com>, @Liming Gao > <mailto:gaolim...@byosoft.com.cn> have you had time to take a look at > this? It is a fairly simple change, following the same logic as xdrlib > with a few modifications to use some newer python functionality. > > Thanks, > Joey > > On Tue, Jun 27, 2023 at 10:21 AM Kinney, Michael D > <michael.d.kin...@intel.com> wrote: >> Thank you for fixing this. >> >> Reviewed-by: Michael D Kinney <michael.d.kin...@intel.com> >> >> > -----Original Message----- >> > From: Joey Vagedes <joey.vage...@gmail.com> >> > Sent: Tuesday, June 27, 2023 9:27 AM >> > To: devel@edk2.groups.io >> > Cc: Rebecca Cran <rebe...@bsdio.com>; Gao, Liming >> > <gaolim...@byosoft.com.cn>; Feng, Bob C <bob.c.f...@intel.com>; Chen, >> > Christine <yuwei.c...@intel.com>; Kinney, Michael D >> > <michael.d.kin...@intel.com> >> > Subject: [PATCH v1 1/1] BaseTools: BinToPcd: Resolve xdrlib deprecation >> > >> > Removes the dependency on xdrlib and replaces it with custom logic to >> > pack a per the xdr requirements. Necessary as xdrlib is being deprecated >> > in python 3.13. >> > >> > Cc: Rebecca Cran <rebe...@bsdio.com> >> > Cc: Liming Gao <gaolim...@byosoft.com.cn> >> > Cc: Bob Feng <bob.c.f...@intel.com> >> > Cc: Yuwei Chen <yuwei.c...@intel.com> >> > Cc: Michael D Kinney <michael.d.kin...@intel.com> >> > Signed-off-by: Joey Vagedes <joeyvage...@gmail.com> >> > --- >> > BaseTools/Scripts/BinToPcd.py | 19 +++++++++++++++---- >> > 1 file changed, 15 insertions(+), 4 deletions(-) >> > >> > diff --git a/BaseTools/Scripts/BinToPcd.py b/BaseTools/Scripts/BinToPcd.py >> > index 3bc557b8412c..460c08b7f7cd 100644 >> > --- a/BaseTools/Scripts/BinToPcd.py >> > +++ b/BaseTools/Scripts/BinToPcd.py >> > @@ -14,6 +14,9 @@ import sys >> > import argparse >> > >> > import re >> > >> > import xdrlib >> > >> > +import io >> > >> > +import struct >> > >> > +import math >> > >> > >> > >> > # >> > >> > # Globals for help information >> > >> > @@ -46,16 +49,24 @@ if __name__ == '__main__': >> > raise argparse.ArgumentTypeError (Message) >> > >> > return Argument >> > >> > >> > >> > + def XdrPackBuffer (buffer): >> > >> > + packed_bytes = io.BytesIO() >> > >> > + for unpacked_bytes in buffer: >> > >> > + n = len(unpacked_bytes) >> > >> > + packed_bytes.write(struct.pack('>L',n)) >> > >> > + data = unpacked_bytes[:n] >> > >> > + n = math.ceil(n/4)*4 >> > >> > + data = data + (n - len(data)) * b'\0' >> > >> > + packed_bytes.write(data) >> > >> > + return packed_bytes.getvalue() >> > >> > + >> > >> > def ByteArray (Buffer, Xdr = False): >> > >> > if Xdr: >> > >> > # >> > >> > # If Xdr flag is set then encode data using the Variable- >> > Length Opaque >> > >> > # Data format of RFC 4506 External Data Representation >> > Standard (XDR). >> > >> > # >> > >> > - XdrEncoder = xdrlib.Packer () >> > >> > - for Item in Buffer: >> > >> > - XdrEncoder.pack_bytes (Item) >> > >> > - Buffer = bytearray (XdrEncoder.get_buffer ()) >> > >> > + Buffer = bytearray (XdrPackBuffer (Buffer)) >> > >> > else: >> > >> > # >> > >> > # If Xdr flag is not set, then concatenate all the data >> > >> > -- >> > 2.41.0.windows.1 >> > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#106912): https://edk2.groups.io/g/devel/message/106912 Mute This Topic: https://groups.io/mt/99813913/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-