Project:Portage/Changed Deps

From Gentoo Wiki
Jump to: navigation, search

This page provides information related to the emerge --changed-deps and --dynamic-deps options which are documented in the emerge man page.

Problems Triggered By Installed Packages With Stale Dependencies

Unsatisfied Dependencies

Installed packages with stale dependencies can trigger unsatisfied dependencies if they specify an incorrect package or an incorrect version of a package.

Dependency Conflicts

Installed packages with stale dependencies can trigger dependency conflicts if they specify an incorrect package or an incorrect version of a package that conflicts with some other package that is required.

Missed Updates to New Package Versions

Installed packages with stale dependencies can trigger missed updates to new package versions if they incorrectly specify that older versions of packages are required.

Unspecified Dependencies Removed By Emerge Depclean

Installed packages with stale dependencies which fail to specify required dependencies can trigger removal of those dependencies by emerge --depclean.

Propagation of Changed Dependencies for Installed Packages

Ebuild Revision Bumps

Ebuild revision bumps are a standard means to propagate changes in the dependencies of installed packages, by triggering upgrade to the latest ebuild revision. A revision bump is warranted if there is a dependency change which has significant consequences for the dependency graph of installed packages. Refer to the Ebuild Revisions page of the Gentoo Development Guide for examples of circumstances that may qualify.

If a dependency change is made to an ebuild without creating a new revision, but the circumstances qualify for a new revision, then please report a bug which specifies the version of the ebuild that needs a revision bump. Changes to ebuilds from the gentoo repository (package specification ending with ::gentoo) can be browsed in GitWeb. Use Gentoo's Bugzilla to report bugs only for the gentoo repository.

emerge --changed-deps

The emerge --changed-deps option can be used as a means to propagate changes in the dependencies of installed packages, by triggering rebuilds of installed packages for which changed dependencies are detected. Refer to the emerge man page for more information about this option.

emerge --dynamic-deps (deprecated)

The emerge --dynamic-deps option can be used as a means to propagate changes in the dependencies of installed packages, by dynamically substituting the dependencies of installed packages with the dependencies of corresponding unbuilt ebuilds from source repositories. The emerge --dynamic-deps option is deprecated due various deficiencies, including undesirable dependence on source repositories and lack of support for dependency calculations involving binary packages (dynamic dependencies apply to installed packages but not to binary packages). Refer to the emerge man page for more information about this option.