Summary: | revdep-rebuild searches symbolically linked directories | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Mark Rosenstand <mark> |
Component: | Current packages | Assignee: | Portage Tools Team <tools-portage> |
Status: | RESOLVED CANTFIX | ||
Severity: | normal | CC: | bruno, crook, dick, gentoo, jdaluz, joe, katerinab, smorg, tiagosousa, xero |
Priority: | High | ||
Version: | 2005.0 | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 62644 | ||
Bug Blocks: | |||
Attachments: |
revdep-rebuild-canonicalize-uniq.patch
gentoolkit-0.2.1_rc4.ebuild |
Description
Mark Rosenstand
2005-05-22 09:39:02 UTC
Created attachment 60603 [details, diff]
revdep-rebuild-canonicalize-uniq.patch
I've created this hack, it only depends on coreutils and bash.
*** Bug 95086 has been marked as a duplicate of this bug. *** May be it just should not follow symlinks at all? Or(and) have command line switch to turn this feature on/off? Created attachment 75634 [details]
gentoolkit-0.2.1_rc4.ebuild
--- /usr/portage/app-portage/gentoolkit/gentoolkit-0.2.1_rc4.ebuild 2005-12-19 23:22:19.000000000 +0100
+++ gentoolkit-0.2.1_rc4.ebuild 2005-12-27 21:48:59.000000000 +0100
@@ -21,6 +21,12 @@
>=sys-apps/grep-2.4
userland_GNU? ( sys-apps/debianutils )"
+src_unpack() {
+ unpack ${A}
+ cd ${S}/src/revdep-rebuild/
+ epatch $FILESDIR/revdep-rebuild-canonicalize-uniq.patch || die
+}
+
src_install() {
make DESTDIR=${D} install-gentoolkit || die
}
*** Bug 117405 has been marked as a duplicate of this bug. *** This was actually implemented and then removed since it causes revdep-rebuild to miss packages. From the gentoolkit ChangeLog 2005-06-05 Paul Varner <fuzzyray@gentoo.org> * revdep-rebuild: Removed symbolically linked directories from search (bug 93574) 2005-06-28 Paul Varner <fuzzyray@gentoo.org> * revdep-rebuild: Revert fix for bug 93574 as it can cause packages to be missed. (bug 97171) See bug 97171 for full details *** Bug 119340 has been marked as a duplicate of this bug. *** How about if it just skips /usr/X11 symlink or any symlink which points to /usr? Couldn't some logic be implemented which would protect the 64 bit libraries but ignore the /usr/X11 which points to /usr? This is a redundant symlink as opposed to the others. While I hate the idea of hard coding things, how about a test somewhere where symlinks are evaluated in revdep-rebuild like this: In pseudo code loop --- store current base dir... --- traverse-directory ------ is symlink? --------- yes? does link -> base dir? ------------ yes? then continue loop ------------ no? link ! -> base dir. keep going --------- no? not symlink. keep going ------ end is symlink? --- evaluate files... end loop This logic would evaluate any symlink in any part of the tree. The dev can decide to how many levels. Adding the following, since I am still receiving requests to fix this. The reason that this bug is a CANTFIX is because when a package is merged, it may store the path using the symbolicly linked directory. For example, /usr/X11R6/bin/someXapp instead of /usr/bin/someXapp. If the symbolic link is removed from from the search, revdep-rebuild will be unable to locate the application and will not rebuild the broken application. Thus in order to ensure that revdep-rebuild can find the applications, the symbolically linked directories have to be searched as well. *** Bug 140430 has been marked as a duplicate of this bug. *** *** Bug 141293 has been marked as a duplicate of this bug. *** *** Bug 169835 has been marked as a duplicate of this bug. *** *** Bug 201319 has been marked as a duplicate of this bug. *** *** Bug 225737 has been marked as a duplicate of this bug. *** |