Summary: | sys-apps/portage: deleting and reinstalling a package fails (sometime) when two needed libraries with the same name are kept | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Tupone Alfredo <tupone> |
Component: | Current packages | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | esigra |
Priority: | Normal | Keywords: | InVCS |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 240323, 645194 | ||
Attachments: |
preserved_libs_registry
PreservedLibsRegistry: fix pruneNonExisting for symlinks to other dirs PreservedLibsRegistry: fix pruneNonExisting for symlinks to other dirs |
Description
Tupone Alfredo
![]() Please attach a copy of /var/lib/portage/preserved_libs_registry from immediately after the package is unmerged. Created attachment 512022 [details]
preserved_libs_registry
I did a cat of the file just before the end of the unmerging and I got
{
"dev-ada/xmlada:0": [
"dev-ada/xmlada-2017",
"7001",
[
"/usr/lib/libxmlada_dom.so.18.0w",
"/usr/lib/xmlada/xmlada_dom.relocatable/libxmlada_dom.so.18.0w",
"/usr/lib/libxmlada_input_sources.so.18.0w",
"/usr/lib/xmlada/xmlada_sax.relocatable/libxmlada_sax.so.18.0w",
"/usr/lib/libxmlada_sax.so.18.0w",
"/usr/lib/xmlada/xmlada_schema.relocatable/libxmlada_schema.so.18.0w",
"/usr/lib/libxmlada_unicode.so.18.0w",
"/usr/lib/libxmlada_schema.so.18.0w",
"/usr/lib/xmlada/xmlada_input.relocatable/libxmlada_input_sources.so.18.0w",
"/usr/lib/xmlada/xmlada_unicode.relocatable/libxmlada_unicode.so.18.0w"
]
]
}
The attached file is instead the final one
This code from bug 406837 removes the symlinks from the preserved_libs_registry: https://gitweb.gentoo.org/proj/portage.git/commit/?id=32d19be14e22ada479963ba8627452f5f2d89b94 Created attachment 512698 [details, diff]
PreservedLibsRegistry: fix pruneNonExisting for symlinks to other dirs
This patch should fix it. You can apply the patch by saving it in /etc/portage/patches/sys-apps/portage/ and rebuilding portage.
Created attachment 512714 [details, diff]
PreservedLibsRegistry: fix pruneNonExisting for symlinks to other dirs
Add missing import.
This patch fix my problem. Thanks The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=b9fc8e55f96c17aeece87387226ada1b184d2f77 commit b9fc8e55f96c17aeece87387226ada1b184d2f77 Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2018-01-02 09:09:34 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2018-01-02 23:02:39 +0000 PreservedLibsRegistry: fix pruneNonExisting for symlinks to other dirs (bug 642672) Fix pruneNonExisting to use the abssymlink function to detect symlinks in the registry that no longer point to a preserved library. The previous code only worked correctly for symlinks pointing to files in the same directory, which failed for packages like dev-ada/xmlada which have symlinks that point into a subdirectory. Fixes: 32d19be14e22 ("pruneNonExisting: handle eselect-opengl symlinks") Tested-by: Tupone Alfredo <tupone@gentoo.org> Bug: https://bugs.gentoo.org/642672 pym/portage/util/_dyn_libs/PreservedLibsRegistry.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)} Thanks for confirmation! |