I noticed that my revdep-rebuild runs did not take very long and didn't find any breakages, even though I knew I broke something. A verbose run of rr showed: revdep-rebuild environment: SEARCH_DIRS="/bin /lib /opt/bin" SEARCH_DIRS_MASK="/lib/modules /opt/sun-jdk-1.4.2.18 /opt/sun-jdk-1.5.0.15 /opt/sun-jdk-1.6.0.07 /opt/thunderbird /usr/lib/real /usr/lib/win32" LD_LIBRARY_MASK="libjava.so libjawt.so libjvm.so libodbc.so libodbcinst.so" PORTAGE_ROOT="/" EMERGE_OPTIONS="" ORDER_PKGS="1" FULL_LD_PATH="1" That SEARCH_DIRS is too small to accomplish anything. Moving /etc/revdep-rebuild out of the way gave me a more sensible environment for finding breakages, but also includes a lot of dirs that should be masked: revdep-rebuild environment: SEARCH_DIRS="/bin /lib /opt/bin /opt/sun-jdk-1.4.2.18/bin /opt/sun-jdk-1.4.2.18/jre/bin /opt/sun-jdk-1.4.2.18/jre/javaws /opt/sun-jdk-1.4.2.18/jre/lib/i386/ /opt/sun-jdk-1.4.2.18/jre/lib/i386/classic/ /opt/sun-jdk-1.4.2.18/jre/lib/i386/native_threads/ /opt/sun-jdk-1.4.2.18/jre/lib/i386/server/ /opt/thunderbird /sbin /usr/bin /usr/i686-pc-linux-gnu/gcc-bin/4.1.1 /usr/i686-pc-linux-gnu/gcc-bin/4.2.4 /usr/i686-pc-linux-gnu/lib /usr/kde/3.5/bin /usr/kde/3.5/lib /usr/kde/3.5/sbin /usr/lib /usr/lib/fltk-1.1 /usr/lib/gcc/i686-pc-linux-gnu/4.2.4 /usr/lib/libstdc++-v3/ /usr/lib/nspr /usr/lib/nss /usr/lib/opengl/xorg-x11/lib /usr/lib/oracle/10.2.0.3/client/lib /usr/lib/qca1 /usr/lib/qt4 /usr/lib/subversion/bin /usr/libexec /usr/local/lib /usr/qt/3/bin /usr/qt/3/lib /usr/sbin" SEARCH_DIRS_MASK="/opt/OpenOffice /usr/lib/openoffice" LD_LIBRARY_MASK="libjava.so libjvm.so libodbc.so libodbcinst.so" PORTAGE_ROOT="/" EMERGE_OPTIONS="" ORDER_PKGS="1" FULL_LD_PATH="1" Reproducible: Always Steps to Reproduce: 1. remove DirectFB 2. run revdep-rebuild 3. Actual Results: Revdep-rebuild found nothing broken and exited Expected Results: Packages built against DirectFB should be found and rebuilt
Please attach the files that are located in /etc/revdep-rebuild
Created attachment 160903 [details] The contents of /etc/revdep-rebuild
Created attachment 161011 [details, diff] revdep-rebuild.232270.patch Patch to fix the issue
$ svn commit -m "Fix filtering of masked paths from SEARCH_DIRS variable. (Bug 232270)" ChangeLog src/revdep-rebuild/revdep-rebuild Sending ChangeLog Sending src/revdep-rebuild/revdep-rebuild Transmitting file data .. Committed revision 498.
That fixed it for me. Thank you. revdep-rebuild environment: SEARCH_DIRS="/bin /lib /opt/bin /opt/thunderbird /sbin /usr/bin /usr/i686-pc-linux-gnu/gcc-bin/4.1.1 /usr/i686-pc-linux-gnu/gcc-bin/4.2.4 /usr/i686-pc-linux-gnu/lib /usr/kde/3.5/bin /usr/kde/3.5/lib /usr/kde/3.5/sbin /usr/lib /usr/lib/fltk-1.1 /usr/lib/gcc/i686-pc-linux-gnu/4.2.4 /usr/lib/libstdc++-v3/ /usr/lib/nspr /usr/lib/nss /usr/lib/opengl/xorg-x11/lib /usr/lib/oracle/10.2.0.3/client/lib /usr/lib/qca1 /usr/lib/qt4 /usr/lib/subversion/bin /usr/libexec /usr/local/lib /usr/qt/3 /usr/qt/3/bin /usr/qt/3/lib /usr/sbin" SEARCH_DIRS_MASK="/lib/modules /opt/sun-jdk-1.4.2.18 /opt/sun-jdk-1.5.0.15 /opt/sun-jdk-1.6.0.07 /opt/thunderbird /usr/lib/real /usr/lib/win32" LD_LIBRARY_MASK="libjava.so libjawt.so libjvm.so libodbc.so libodbcinst.so" PORTAGE_ROOT="/" EMERGE_OPTIONS="-a" ORDER_PKGS="1" FULL_LD_PATH="1"
Leave open until I make a gentoolkit release with the fix.
Against what is this patch applied to, I need revdep-rebuild to work but I'm not sure of what I should apply this patch to?
It is a patch for revdep-rebuild. Assuming the patch is named revdep-rebuild.232270.patch, do the following as root: 1. cd /usr/bin 2. patch -p0 < revdep-rebuild.232270.patch
*** Bug 234670 has been marked as a duplicate of this bug. ***
Created attachment 163662 [details, diff] Better patch avoiding unsetting local variable Paul's patch 'revdep-rebuild.232270.patch' unsets the local variable 'skip_me' so that it is no longer local when it is set again. My patch 'gentoolkit-0.2.4_rc5-search-fix.patch' sets 'skip_me' to an empty string instead. (Also it does this before the inner loop rather than after, but that's just defensive programming.)
> Paul's patch 'revdep-rebuild.232270.patch' unsets the local variable 'skip_me' > so that it is no longer local when it is set again. Thanks, Ian. I forgot that unsetting the variable would make it forget its local status. I have changed it to use your patch in subversion. $ svn commit -m "Update fix for Bug 232270 to utilize better patch from Ian Abbott." ChangeLog src/revdep-rebuild/revdep-rebuild Sending ChangeLog Sending src/revdep-rebuild/revdep-rebuild Transmitting file data .. Committed revision 508.
Released in gentoolkit-0.2.4_rc6