Portage 2.1 Released!

Filed under
Gentoo

The Gentoo Portage Team is proud to announce that version 2.1 of portage has been completed and added to the tree for testing.

New features include:

* FEATURES="confcache" integration; global caching to speed up configure calls,
requires dev-util/confcache
* elog framework and accompanying modules for logging ebuild warnings, errors
and general notices. Collects eerror/ewarn/elog/einfo messages.
* New elog function (should replace einfo in many cases)
* version syntax enhancements allowing multiple suffixes and a new 'cvs'
prefix for denoting "live sources" ebuilds.
* config files as directories enabling more flexible settings management.
* Addition of an register_die_hook method that allows ebuild/eclasses to
register functions to be called for better debugging on errors.
* Addition of pre and post user hookable functions for each ebuild phase, accessible
via portage bashrc. Example would be pre_src_unpack .
* cache refactoring- runtime improvement from 35% -> 65%.
* Intelligently handle and display USE_EXPAND-based IUSE variables.
* FEATURES="parallel-fetch". Download in parallel to compilation.
* Include a "changed or new" USE flag output when --verbose isn't specified.
* Support for splitting out debug information into separate files in
/usr/lib{,32,64}.
* exec subsystem refactoring (now with less bugs!)
* Added sha256 and rmd160 hashes for digests/manifests
* Make --emptytree only apply to ${ROOT} rather than always including /.
* Allow packages to be upgraded that are only depended on via a
"|| ( =cat/pkg-1* =cat/pkg-2* )" construct.
* Ebuild output is no longer cut off early when using PORT_LOGDIR.
* Distfiles indirection- $DISTFILES access goes through a tmp dir to fail
access to files not listed in SRC_URI.
* Emerge now uses --resume to restart itself after portage upgrade.
* Atomic file updates via the new atomic_ofstream class.
* Global updates and fixpackages performance optimizations.
* Tests show that file locking is now more reliable.
* A bash call stack is printed when an ebuild dies in ebuild.sh.
* New rsync option handling by using a generic PORTAGE_RSYNC_EXTRA_OPTS variable
* Manifest2 support that will allow digest-* files to be eliminated from the tree.

Release Notes.