blob: c24b5ecc355c0ab617d02aeccdd63a2d8e5cd2cc [file] [log] [blame]
News (mainly features/major bug fixes)
* Ebuilds support default USE flags via +flag in IUSE.
* New-style virtuals are now usable for packages that depend on themselves for
* Profiles support multiple inheritance and package.use.
* CONFIG_PROTECT and CONFIG_PROTECT_MASK both support files (not just
* Collision protection handles symlinks properly.
* Dependencies can be satisfied by installed packages that do not have matching
ebuilds in the portage tree or overlay.
* Emerge automatically ignores blockers that are made irrelevant by an upgrade.
* Emerge supports "reverse blocker detection" which means that the blockers of
installed packages will always be respected.
* Emerge builds a complete dependency graph in order to ensure correct merge
order and detection of circular dependencies.
* The world and system sets allow automatic update of all installed slots.
* DEPEND atoms support SLOT dependencies of the form ${CATEGORY}/${PN}:${SLOT}.
* Development: Extend PYTHONPATH support to allow overriding the hardcoded
/usr/lib/portage/pym for development/testing purposes
* New "finalize" hook for elog modules enabling modules to perform actions on
shutdown (like dispatching collected messages).
* New elog modules mail_summary and save_summary that act like the mail/save
modules except that they merge messages from multiple packages in a single
* New QA loglevel and matching eqawarn function
* `ebuild foo test` now always runs src_test if available
* If DOC_SYMLINK_DIR is set portage installs symlinks to html documention there
* FEATURES="test" automatically implies USE="test".
* Profiles support use.force, package.use.force, and package.use.mask files.
portage-2.1 (ongoing via pre releases)
* 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'
version 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
* 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
* 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.