Merged from trunk -r11816:11833
authorFabian Groffen <grobian@gentoo.org>
Sat, 15 Nov 2008 15:23:03 +0000 (15:23 -0000)
committerFabian Groffen <grobian@gentoo.org>
Sat, 15 Nov 2008 15:23:03 +0000 (15:23 -0000)
commit66b22b5931bf9f8ca77e825d92916ae967e805cc
treea4c261c9c04e86ea65b009f50d490c2fe5167150
parenta23780d265f1d2cbff49701e34bef8ea876cbdad
   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
bin/isolated-functions.sh
pym/_emerge/__init__.py
pym/portage/checksum.py
pym/portage/dbapi/vartree.py
pym/portage/sets/libs.py