revdep-rebuild¶
NAME¶
revdep-rebuild - Gentoo: Reverse Dependency RebuilderSYNOPSIS¶
revdep-rebuild [OPTIONS] [--] [EMERGE OPTIONS]
DESCRIPTION¶
revdep-rebuild scans libraries and binaries for missing shared library dependencies and attempts to fix them by re-emerging those broken binaries and shared libraries. It is useful when an upgraded package breaks other software packages that are dependent upon the upgraded package.
OPTIONS¶
-C | --nocolor
Turn off colored output. (This option is also passed to portage.)
-d | --debug
Print way too much information (uses bash's set -xv)
-e | --exact
Emerge the most recent version of found packages, without regard to SLOT.
-h | --help
Print usage.
-i | --ignore
Delete temporary files from previous runs.
-k | --keep-temp
Force revdep-rebuild not to delete temporary files after it successfully rebuilds packages. This option will NOT prevent revdep-rebuild from deleting inconsistent or out-of-date temporary files.
--library NAME | -L NAME
Search for reverse dependencies for a particular library or group of libraries, rather than every library on the system. Emerge packages that use the named library. NAME can be a full path to a library or basic regular expression. (See regex(7).)
-l | --no-ld-path
Do not set LD_LIBRARY_PATH. Note: Using this option will cause revdep-rebuild to report some false positives.
-o | --no-order
Do not check the build order against the deep dependency list. This will make revdep-rebuild faster, but it can cause emerge failures. Please try revdep-rebuild without -o before reporting any bugs.
-p | --pretend
Do a dry-run. Do not delete temporary files. (-k -p is redundant, but harmless.) --pretend is assumed when not running revdep-rebuild as root.
-P | --no-progress
Turn off the progress meter
-q | --quiet
Print less output and disable the progress meter. (This option is also passed to portage.)
-v | --verbose
More output. (Prints the revdep-rebuild search environment.)
Options after -- are ignored by revdep-rebuild and passed directly to emerge.
CONFIGURATION¶
revdep-rebuild no longer uses hardcoded paths. To change the default behavior the following variables can be changed by the user.
LD_LIBRARY_MASK - Mask of specially evaluated libraries SEARCH_DIRS - List of directories to search for executables and libraries SEARCH_DIRS_MASK - List of directories to not searchYou can prepend to these variables by setting the variable in your environment prior to execution, by placing an entry in /etc/make.conf, or by placing a file in /etc/revdep-rebuild containing the appropriate variables.
The variables are read and set in the following order:
environment settings - one time changes by user/etc/make.conf - persistent changes by user
/etc/revdep-rebuild/* - persistent changes by ebuild authors
While a user can edit and modify the files in the /etc/revdep-rebuild directory, please be aware that the /etc/revdep-rebuild directory is not under configuration protection and files can be removed and/or overwritten by an ebuild. To change this add /etc/revdep-rebuild to the CONFIG_PROTECT variable in /etc/make.conf.
An entry of "-*" means to clear the variable from that point forward. Example: SEARCH_DIRS="/usr/bin -*" will set SEARCH_DIRS to contain only /usr/binrevdep-rebuild honors the NOCOLOR and PORTAGE_NICENESS variables from /etc/make.conf
EXAMPLES¶
It is recommended that when running revdep-rebuild that the following command be used initially:
revdep-rebuild --ignore --pretend
To search the entire system, while excluding /mnt and /home:
env SEARCH_DIRS="/ -*" SEARCH_DIRS_MASK="/mnt /home" revdep-rebuild
To rebuild packages that depend on libkdecore.so.4 from KDE 3.3:
revdep-rebuild --library /usr/kde/3.3/lib/libkdecore.so.4
To rebuild packages that depend upon libImlib.so and libImlib2.so:
revdep-rebuild --library libImlib[2]*.so.*
FILES¶
revdep-rebuild keeps several pseudo-temporary files in /var/cache/revdep-rebuild/. Deleting these files can improve accuracy at the cost of speed:
0_env.rr
Contains environment variables
1_files.rr
Contains a list of files to search
2_ldpath.rr
Contains the LDPATH
3_broken.rr
Contains the list of broken files
3_errors.rr
Contains the ldd error output
4_raw.rr
Contains the raw list of packages
4_owners.rr
Contains the file owners
4_pkgs.rr
Contains the unsorted bare package names
4_ebuilds.rr
Contains the unsorted atoms
5_order.rr
Contains the sorted atoms
6_status.rr
Contains the ldd error output
EXIT STATUS¶
revdep-rebuild returns a zero exit status if it and emerge succeeds, and a nonzero exit status otherwise.
BUGS¶
Report bugs to <http://bugs.gentoo.org>. Please do not report emerge failures caused by -o or -e. Please include your files from /var/cache/revdep-rebuild/, your emerge --info, and patches. ;)SEE ALSO¶
emerge(1), portage(5), regex(7)