After screwing up my squashfs update to my /usr partation, some files are missing , and revdep-rebuild considers it to be just fine. it spits out errors when it tries to open the missing files with awk, but it completes fine without rebuilding the appropriate package. A sample block of the errors it spews without rebuilding the relevant package: " 79% ] awk: cmd. line:5: fatal: cannot open file `/usr/lib/libulockmgr.la' for reading (No such file or directory) awk: cmd. line:5: fatal: cannot open file `/usr/lib/libuninameslist-fr.la' for reading (No such file or directory) awk: cmd. line:5: fatal: cannot open file `/usr/lib/libuninameslist.la' for reading(No such file or directory) " Reproducible: Always Steps to Reproduce: 1.remove a file in /usr/ (i think only /usr/lib may be affected, but I am unsure) that is included in a portage package 2.run revdep-rebuild 3. Actual Results: revdep-rebuild considers the missing file just fine and does not rebuild the package containing it Expected Results: revdep-rebuild should rebuild the package containing that missing file
revdep-rebuild's job is to fix screwed linkage after libs switched their ABI, not to fix filesystem screw-ups. If the .la file is missing, it's none of revdep-rebuild's job to guess whether a rebuild is needed or not, there are people who INSTALL_MASK *.la files among others. It should just handle those gracefully without spewing out similar errors.
As far as revdep-rebuild is concerned, removing .la files is just fine. What is causing the problem in this case is that when revdep-rebuild is looking for libraries, the find command is finding the .la files. Then when it goes to read them, it can't. However, in order to verify what is happening. Please attach all of the .revdep-rebuild temporary files. You can use revdep-rebuild --keep-temp to ensure that revdep-rebuild does not delete the files.