Merged from trunk -r11816:11833
| 11817 | Inside LinkageMap._libs, use a SlotDict to store consumers |
| zmedico | and providers, to use less memory than a normal dict. |
| 11818 | Swap the locations of the arch and soname keys inside |
| zmedico | LinkageMap._libs in order to conserve memory. This new |
| | branching layout uses fewer dict instances since the number |
| | of sonames is much larger than the number of archs. |
| 11819 | Combine redundant arch_map code inside LinkageMap.rebuild(). |
| zmedico | |
| 11820 | When using the `read` builtin to split newlines in e* |
| zmedico | function arguments, use $REPLY in order to ensure that |
| | whitespace in each line is correctly preserved. Thanks to |
| | Joe Peterson <lavajoe@g.o> for reporting. |
| 11821 | Fix LinkageMap.rebuild() so that the data from include_file |
| zmedico | overrides the data from any previously installed files. This |
| | prevent possible corruption of the data since only one set |
| | of data can be correct for a given file. |
| 11822 | When calling scanelf inside LinkageMap.rebuild(), join paths |
| zmedico | with $ROOT when generating the arguments and then strip |
| | $ROOT from the paths in the output. |
| 11823 | Improve the error message that's generated in |
| zmedico | LinkageMap.rebuild() for corrupt NEEDED.ELF.2 entries. |
| 11824 | Replace NEEDED.ELF.2 strings with references to |
| zmedico | LinkageMap._needed_aux_key. |
| 11825 | Handle a potential OSError that occurs if the scanelf binary |
| zmedico | is missing when LinkageMap.rebuild() is called. |
| 11826 | In LinkageMap.rebuild(), immediately raise a CommandNotFound |
| zmedico | exception if scanelf is missing since otherwise it will lead |
| | to a KeyError later on from findConsumers or findProviders. |
| | This will allow the caller to handle the CommandNotFound |
| | exception if necessary, and skip any findConsumers or |
| | findProviders since they won't be able to return valid |
| | results. |
| 11827 | Handle CommandNotFound exceptions if the scanelf binary |
| zmedico | happens to be missing, and disable preserve-libs code in |
| | that case. |
| 11828 | With python-2.6, importing the Crypto.Hash.MD5 and |
| zmedico | Crypto.Hash.SHA modules from pycrypto triggers warnings |
| | since those modules are implemented using the deprecated md5 |
| | and sha modules from python's stdlib. So, in order to avoid |
| | the warning and the inferior hash implementations that come |
| | with them, never use these particular modules from pycrypto. |
| | Instead, use hashlib or directly use stdlib's md5 and sha |
| | modules if necessary. Thanks to Markus Peloquin for |
| | reporting. |
| 11829 | Fix $ROOT handlink inside display_preserved_libs(). |
| zmedico | |
| 11830 | Inside LinkageMap, use self._obj_key() whenever possible. |
| zmedico | |
| 11831 | Bug #245362 - Rewrite preserve-libs preservation code so |
| zmedico | that it always relies on inode comparisons rather than |
| | string comparisons. Instead of injecting libraries into $D |
| | before the files are merged, the preservation code now |
| | executes after the files are merged but before the old |
| | version is unmerged. After determining which libs to |
| | preserve, the CONTENTS are updated to include those libs. |
| | The PreservedLibsRegistry.register() call is now done just |
| | after the temporary vdb entry has been moved into place, |
| | guaranteeing that a valid vdb entry is in place so that the |
| | unregistration code from bug #210501 is no longer needed. |
| 11832 | Bug #243030 - In PreservedLibraryConsumerSet.load(), avoid |
| zmedico | rebuilding packages just because they contain preserved libs |
| | that happen to be consumers of other preserved libs. |
| 11833 | Inside vardbapi.removeFromContents(), automatically clear |
| zmedico | the contents cache of the dblink instance in case an |
| | existing one was passed in. |
svn path=/main/branches/prefix/; revision=11938