Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 93574 - revdep-rebuild searches symbolically linked directories
Summary: revdep-rebuild searches symbolically linked directories
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Portage Tools Team
URL:
Whiteboard:
Keywords:
: 95086 117405 119340 140430 141293 169835 225737 (view as bug list)
Depends on: 62644
Blocks:
  Show dependency tree
 
Reported: 2005-05-22 09:39 UTC by Mark Rosenstand
Modified: 2008-06-10 16:20 UTC (History)
10 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
revdep-rebuild-canonicalize-uniq.patch (revdep-rebuild.patch,609 bytes, patch)
2005-06-04 13:58 UTC, Dick Marinus
Details | Diff
gentoolkit-0.2.1_rc4.ebuild (gentoolkit-0.2.1_rc4.ebuild,1.66 KB, text/plain)
2005-12-27 12:52 UTC, Dick Marinus
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Rosenstand 2005-05-22 09:39:02 UTC
/usr/X11R6 is (as of xorg-6.8.2 IIRC) a symbolic link to /usr, which means that searching it doubles the time it takes to run.
Comment 1 Dick Marinus 2005-06-04 13:58:45 UTC
Created attachment 60603 [details, diff]
revdep-rebuild-canonicalize-uniq.patch

I've created this hack, it only depends on coreutils and bash.
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2005-06-05 00:06:03 UTC
*** Bug 95086 has been marked as a duplicate of this bug. ***
Comment 3 Andy Crook 2005-12-08 03:00:27 UTC
May be it just should not follow symlinks at all?
Or(and) have command line switch to turn this feature on/off?
Comment 4 Dick Marinus 2005-12-27 12:52:10 UTC
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
 }
Comment 5 Jakub Moc (RETIRED) gentoo-dev 2006-01-02 01:39:08 UTC
*** Bug 117405 has been marked as a duplicate of this bug. ***
Comment 6 Paul Varner (RETIRED) gentoo-dev 2006-01-02 07:19:48 UTC
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
Comment 7 Jakub Moc (RETIRED) gentoo-dev 2006-01-17 14:48:39 UTC
*** Bug 119340 has been marked as a duplicate of this bug. ***
Comment 8 Peter Hyman 2006-01-22 06:36:11 UTC
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.
Comment 9 Paul Varner (RETIRED) gentoo-dev 2006-06-07 08:11:04 UTC
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.
Comment 10 Paul Varner (RETIRED) gentoo-dev 2006-07-14 18:45:04 UTC
*** Bug 140430 has been marked as a duplicate of this bug. ***
Comment 11 Jakub Moc (RETIRED) gentoo-dev 2006-07-21 07:59:14 UTC
*** Bug 141293 has been marked as a duplicate of this bug. ***
Comment 12 Jakub Moc (RETIRED) gentoo-dev 2007-03-07 21:57:06 UTC
*** Bug 169835 has been marked as a duplicate of this bug. ***
Comment 13 Jakub Moc (RETIRED) gentoo-dev 2007-12-05 12:24:34 UTC
*** Bug 201319 has been marked as a duplicate of this bug. ***
Comment 14 Paul Varner (RETIRED) gentoo-dev 2008-06-10 16:20:02 UTC
*** Bug 225737 has been marked as a duplicate of this bug. ***