Thank you for the review Michael. @Rebecca Cran <rebe...@bsdio.com>, @Liming Gao <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 (#106911): https://edk2.groups.io/g/devel/message/106911 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] -=-=-=-=-=-=-=-=-=-=-=-