Message277801
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? |
|
Date |
User |
Action |
Args |
2016-10-01 06:44:03 | martin.panter | set | recipients:
+ martin.panter, python-dev, David.Edelsohn, Michael.Felt, aixtools@gmail.com |
2016-10-01 06:44:02 | martin.panter | set | messageid: <1475304242.97.0.22792218719.issue26439@psf.upfronthosting.co.za> |
2016-10-01 06:44:02 | martin.panter | link | issue26439 messages |
2016-10-01 06:44:02 | martin.panter | create | |
|