Author martin.panter
Recipients David.Edelsohn, Michael.Felt, aixtools@gmail.com, martin.panter, python-dev
Date 2016-10-01.06:43:56
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1475304242.97.0.22792218719.issue26439@psf.upfronthosting.co.za>
In-reply-to
Content
Hi Michael, I have done some cleanup and modifications to your patch. The result is in aix-library.161001.patch, which has all the changes, i.e. it is not based on another patch. More significant changes I made:

* Change getExecLibPath_aix() and find_parts() to return a list object, rather than building a colon-separated string only to be pulled apart again
* Escape dots in get_legacy() regular expressions, so that they no longer match [shr_64xo], [shrxo], etc.
* Make get_dumpH() return the a list of (object, objectinfo) tuples, where objectinfo is a list of lines; avoids building multiline strings and then splitting them apart again
* Rewrite get_exactMatch() and get_version() without nested inline “for” loops; use RE capture group
* Reuse util._last_version() instead of copying the _num_version() function
* Use lower case B for liB in get_member(). This means e.g. libcrypto.so is now preferred over libcrypto.so.1.0.0.

I did test it a bit on Linux with faked dump -H output, but I may have made mistakes that I did not pick up.

Also, this still needs documentation, and I think some more tests for the test suite exercising various aspects of find_library() would be nice if possible.

Another thing: in the last few patches, you dropped the definition of RTLD_MEMBER from Modules/_ctypes/_ctypes.c. Is that intended, or just a temporary thing?
History
Date User Action Args
2016-10-01 06:44:03martin.pantersetrecipients: + martin.panter, python-dev, David.Edelsohn, Michael.Felt, aixtools@gmail.com
2016-10-01 06:44:02martin.pantersetmessageid: <1475304242.97.0.22792218719.issue26439@psf.upfronthosting.co.za>
2016-10-01 06:44:02martin.panterlinkissue26439 messages
2016-10-01 06:44:02martin.pantercreate