Live ebuilds

From Gentoo Wiki
(Redirected from 9999 package version)
Jump to:navigation Jump to:search

Live ebuilds are ebuilds with a version number of 9999. These ebuilds fetch updates directly from the upstream project's source code repository and will build the associated package from the latest commit.

Warning
Live ebuilds are extremely unstable, and therefore are always keyword masked.

Unmasking live ebuilds

A single package

Live builds will require manual unmasking in order to be installed by the package manager. For example, to unmask the live version of app-emulation/wine-staging, the following

FILE /etc/portage/package.accept_keywordsUnmasking a single live ebuilds
# Note: Accepting all keywords removes all levels of quality assurance from the system
# and is likely to result in build failures, unstable software, or other problems.
# Here be dragons! Proceed keeping these risks in mind...
app-emulation/wine-staging **

System wide

To unmask all live ebuilds. This implicit removes all levels of quality assurance provided by Gentoo developers and puts the fate of the system fully in the hands of upstream package developers.

FILE /etc/portage/make.confUnmasking live ebuilds globally
# Note: Accepting all keywords removes all levels of quality assurance from the system
# and is likely to result in build failures, unstable software, or other problems.
# Here be dragons! Proceed keeping these risks in mind...
ACCEPT_KEYWORDS="**"

Updating live packages

All presently installed live packages can be updated by re-installing via the @live-rebuild set. This is a crude and effective approach, since Portage will re-pull and then recompile each of the packages in the set, which make take a considerable amount of time.

root #emerge --ask @live-rebuild
Important
The package manager will not automatically update packages with a version number of 9999, since they are already considered to be at their maximum version. Running emerge --update @live-rebuld will perform no action, which is why the set is simply re-installed in the example above.

Smart live rebuild

The app-portage/smart-live-rebuild package provides a framework which will intelligently pull updates from each upstream source code repository for each live package installed on the system. It will only update packages which have a newer set of changes available upstream, therefore avoiding the crude approach of having to recompile all packages within the @live-rebuld set.

See also