| News (mainly features/major bug fixes) |
| |
| portage-3.0.29 |
| -------------- |
| * check for inconsistent/missing PROVIDES during package (and binpkg) |
| installation. See bug 811462. |
| * avoid pulling in newer slots for upgrades in some cases. See bug 828136. |
| * enable SONAME dependencies for binpkgs by default. See bug 687956. |
| * add new options to allow avoiding building/using binpkgs for live ebuilds: |
| FEATURES="binpkg-live" and --usepkg-exclude-live. |
| * add emphasis in output to user patches being applied. |
| |
| portage-3.0.27 |
| -------------- |
| * improve blocker output to make it clear which blockers |
| are not satisfied. |
| * use distinct colors for einfo/elog and ewarn/eqawarn. |
| |
| portage-3.0.26 |
| -------------- |
| * fix broken FILESDIR copying logic. |
| |
| portage-3.0.25 (yanked) |
| ----------------------- |
| * fix Python < 3.8 compatibility of FILESDIR copying code. |
| |
| portage-3.0.24 |
| -------------- |
| * remove doebuild(dbkey=...) support that was deprecated since 2013. |
| * pass metadata internally using key=value format. |
| * include INHERIT key md5-cache to match pkgcore. |
| * reformat Portage code using black. |
| * fix Python 3.10 deprecation warnings. |
| * replace compat_coroutine use with modern async. |
| |
| portage-3.0.23 |
| -------------- |
| * enable autogroup scheduling with pid-sandbox if possible. This should |
| make the kernel respect niceness better. |
| * add support conf-update.d hooks. |
| * display all preserved libraries with --verbose. |
| * restore QA warnings when EXPORT_FUNCTIONS is called before inherit. |
| * catch more setuptools warnings via the respective QA check. |
| |
| portage-3.0.22 |
| -------------- |
| * USE flags are now sorted with respect to numerical segments in emerge |
| output (e.g. python3_10 comes after python3_9). |
| * setuptools version normalization warnings are now ignored. |
| * FEATURES=installsources no longer copies irrelevant directory trees |
| with gcc-11. |
| * sdist archives built using "build" now include setup.py. |
| |
| portage-3.0.21 |
| -------------- |
| * EAPI 8 fixups. |
| |
| portage-3.0.20 |
| -------------- |
| * Finalize EAPI 8. |
| |
| portage-3.0.19 |
| -------------- |
| * Enable EAPI 8. |
| |
| portage-3.0.18 |
| -------------- |
| * profile-repo-deps is supported in layout.conf profile-formats. |
| |
| portage-3.0.16 |
| -------------- |
| * emirrordist supports the content-hash distfiles mirror layout. |
| |
| portage-3.0.15 |
| -------------- |
| * FEATURES=binpkg-multi-instance is now enabled by default. |
| |
| portage-3.0.13 |
| -------------- |
| * FETCHCOMMAND now supports a \${DIGESTS} placeholder which expands |
| to a space separated list of digests. Refer to the FETCHCOMMAND |
| documentation in the make.conf(5) man page. |
| |
| portage-3.0.6 |
| -------------- |
| * emerge --search now detects regular expressions automatically. This |
| behavior is controlled by the --regex-search-auto option. |
| * make.conf now treats variable names that begin with two underscores |
| as local variables which are not displayed by emerge --info --verbose. |
| * egencache --update-pkg-desc now has a --verbose option which causes |
| it to emulate esync --verbose output. |
| * env-update now generates a systemd user-session environment in a file |
| named /etc/environment.d/10-gentoo-env.conf. |
| * binrepos.conf is a new configuration file that acts as a substitute |
| for the PORTAGE_BINHOST variable, and allows each repository to have |
| a separate FETCHCOMMAND which can be used to customize authentication. |
| This file is documented in the portage(5) man page. |
| |
| portage-3.0.0 |
| -------------- |
| * Dropped support for Python 2.x. |
| |
| portage-2.3.101 |
| -------------- |
| * The new PORTAGE_LOG_FILTER_FILE_CMD make.conf(5) variable specifies a |
| command that filters build log output to a log file. In order to |
| filter ANSI escape codes from build logs, ansifilter(1) is a |
| convenient setting for this variable. |
| |
| portage-2.3.100 |
| -------------- |
| * New BINPKG_COMPRESS=zstd default (does not apply to installed systems |
| using the old bzip2 default). |
| |
| portage-2.3.97 |
| -------------- |
| * Support for the PORTAGE_LOG_FILTER_FILE_CMD variable has been |
| temporarily removed due to bug 716636. |
| |
| portage-2.3.90 |
| -------------- |
| * The new PORTAGE_LOG_FILTER_FILE_CMD make.conf(5) variable specifies a |
| command that filters build log output to a log file. In order to |
| filter ANSI escape codes from build logs, ansifilter(1) is a |
| convenient setting for this variable. |
| |
| portage-2.3.80 |
| -------------- |
| * The emerge --quickpkg-direct option enables use of installed packages |
| directly as binary packages. It can be used to create minimal runtime |
| container images (which need not include a package manager), or to |
| enable a live image to act as a binary installer that uses packages |
| installed in the live image as a source of binary packages. This |
| option is especially useful in combination with --usepkgonly and |
| --ignore-soname-deps=n options, allowing implicit system dependencies |
| such as libc to be automatically accounted for. |
| |
| portage-2.3.77 |
| -------------- |
| * The emerge --autounmask option is now disabled by default, except for |
| portions of behavior which are controlled by the --autounmask-use and |
| --autounmask-license options. For backward compatibility, previous |
| behavior of --autounmask=y and --autounmask=n is entirely preserved. |
| Users can get the old behavior simply by adding --autounmask to the |
| make.conf EMERGE_DEFAULT_OPTS variable. |
| |
| portage-2.3.72 |
| -------------- |
| * The glsa-check program is now provided by portage, and it has been |
| removed from gentoolkit. See bug 463952. |
| |
| portage-2.3.70 |
| -------------- |
| * The @live-rebuild package set now searches for PROPERTIES=live, see |
| bug 233589. The @deprecated-live-rebuild package set provides the |
| old behavior which was based on inherited eclasses. |
| |
| portage-2.3.64 |
| -------------- |
| * New (council approved) default locations for the Gentoo repository, |
| distfiles, and binary packages (does not apply to installed systems |
| using the old defaults): |
| /usr/portage -> /var/db/repos/gentoo |
| /usr/portage/distfiles -> /var/cache/distfiles |
| /usr/portage/packages -> /var/cache/binpkgs |
| |
| portage-2.3.53 |
| -------------- |
| * Renamed PORT_LOGDIR and PORT_LOGDIR_CLEAN variables to |
| PORTAGE_LOGDIR and PORTAGE_LOGDIR_CLEAN to match other existing |
| similar variables |
| * Enable FEATURES={ipc,network,pid}-sandbox by default |
| |
| portage-2.3.42 |
| ---------------- |
| * Sync with rsync quarantines data prior to verification, using the |
| rsync --link-dest option (can be disabled by setting |
| "sync-allow-hardlinks = no" in repos.conf). |
| * Sync with git quarantines data prior to verification, see |
| https://wiki.gentoo.org/wiki/Portage_Security#git-mirror_repo. |
| * Sync with shallow git pull is supported, by "setting sync-depth = 1" |
| in repos.conf. |
| |
| portage-2.3.32 |
| ---------------- |
| * EAPI 7 support. |
| |
| portage-2.3.29 |
| ---------------- |
| * Portage API consumers can use asyncio with portage's internal event |
| loop, see portage.util.futures.unix_events.DefaultEventLoopPolicy. |
| |
| portage-2.3.25 |
| ---------------- |
| * Experimental support for EAPI 7_pre1. |
| |
| portage-2.3.20 |
| ---------------- |
| * Support RESTRICT=network-sandbox in ebuilds. |
| |
| portage-2.3.17 |
| ---------------- |
| * The doins ebuild helper has been rewritten in python for performance, and |
| it does in-kernel file copying on Linux. |
| |
| portage-2.3.14 |
| ---------------- |
| * Repository metadata/layout.conf supports manifest-required-hashes |
| attribute (default value is SHA512). |
| |
| portage-2.3.12 |
| ---------------- |
| * better_cache implemented to use less expensive os.listdir() instead of |
| os.stat() operations to scan for ebuilds. Avoids exhaustively scanning |
| overlays for all ebuilds which allows Portage to not slow down significantly |
| with lots of overlays enabled. (Daniel Robbins) |
| |
| portage-2.3.7 |
| ----------------- |
| * eapply_user combines patch basenames from all matched directories into a |
| list, and applies them in POSIX sorted order. This allows patches in |
| more-specific directories to override patches of the same basename found |
| in less-specific directories. An empty patch (or /dev/null symlink) negates |
| a patch with the same basename found in a less-specific directory. |
| * FEATURES=multilib-strict no longer recurses into subdirectories, in order |
| to avoid false-positives. The MULTILIB_STRICT_EXEMPT variable only served |
| to filter false-positives that were triggered by recursion, so it will no |
| longer be needed. |
| * New emerge --autounmask-keep-keywords and --onlydeps-with-rdeps=<y|n> |
| options. |
| * Set compression method for binpackages via BINPKG_COMPRESS variable |
| * Support for environment variables for git cmd in repos.conf via sync-git-env |
| |
| |
| portage-2.3.5 |
| ----------------- |
| * Numerous patches updating checksums code and python module imports for them |
| including new checksum methods |
| * New linux in kernel movefile support via a new "C" extension module |
| |
| |
| portage-2.3.3 |
| ----------------- |
| * Reverted commits: |
| - Bug 552814 Revert "GitSync.update: respect sync-depth |
| (Shallow fetch is not a practical default at this time, |
| given performance issues introduced by `git update-index` |
| and `git prune` (see bug 599008). |
| ) |
| |
| |
| portage-2.3.1 |
| ----------------- |
| * Support News-Item-Format 2.0 |
| * emerge: add --fuzzy-search and --search-similarity |
| * Add emerge --autounmask-continue option |
| |
| portage-2.3.0 |
| ----------------- |
| * Final release |
| * Includes numerous bugfixes |
| |
| portage-2.3.0_rc1 |
| ----------------- |
| * New split release for the repoman Q/A tool |
| * Includes the stage2 rewite of the repoman code base |
| |
| |
| portage-2.2.26 |
| -------------- |
| * EAPI 6 stable portage release |
| |
| |
| portage-2.2.25 |
| -------------- |
| * EAPI 6 final fully implemented. |
| |
| |
| portage-2.2.22 |
| ------------- |
| * Stage 1 of the repoman re-write code merged in to master branch |
| This is the first release of the new code base. |
| |
| |
| portage-2.2.19 |
| ------------- |
| * The squashdelta sync module was removed for separate installation |
| and development work |
| |
| |
| portage-2.2.19 |
| ------------- |
| * websync module now fully renamed to webrsync |
| * New squashdelta sync module for downloading full or updates for a squasfs tree |
| requires dev-util/squashmerge be installed |
| * New binpkg-multi-instance feature allows for multiple variations |
| (USE settings) to be saved in the pkgdir and index. |
| |
| |
| portage-2.2.16 |
| ------------- |
| * New portage plug-in sync system. |
| Read the news anouncement for more details of the changes in config |
| settings and operation. |
| * New native portage postsync.d capability |
| * New native portage repo.postsync.d capability |
| * New native indexed search capability for decent search speed |
| * Tentative EAPI 6 patches for additional testing |
| |
| |
| portage-2.2.14 |
| ------------- |
| * Remaining bugs in build/install system should be fixed. |
| |
| |
| portge-2.2.14_rc1 |
| ------------- |
| * Many new build/installation system errors fixed. |
| |
| |
| portage-2.2.13 |
| ------------- |
| * New setup.py build system and distutils-r1 ebuild at EAPI 5 |
| * PORTAGE_{BIN,PYM}_PATH variables. If you want to call internal portage tools, |
| you need to query PORTAGE_BIN_PATH and PORTAGE_PYM_PATH, use them |
| and re-export them. |
| * New @changed-deps set to update packages which need dependecy change updates. |
| |
| |
| portage-2.2.12 |
| ------------- |
| * New emaint module "merges" for finding and fixing failed merges |
| If a pkg fails to merge to the live filesystem correctly, that pkg may |
| not work correctly if at all. This module scans the installed pkg database |
| for those failures and can re-emerge those packages. |
| |
| portage-2.2.1 |
| ------------- |
| |
| * Add cgroups, ipc-sandbox, and network-sandbox FEATURES. |
| |
| portage-2.2 |
| ------------- |
| |
| * Add extended set configuration via /etc/portage/sets.conf. See |
| /usr/share/portage/config/sets/portage.conf for examples. |
| |
| portage-2.1.11.20 |
| ------------- |
| * Add support for EAPI 5. Refer to the PMS EAPI Cheat Sheet, portage's html |
| docs installed with USE=doc, or `man 5 ebuild` for more info about EAPI 5. |
| * Add support for FEATURES=preserve-libs which preserves libraries when the |
| sonames change during upgrade or downgrade, and the @preserved-rebuild |
| package set which rebuilds consumers of preserved libraries. |
| * Add link level dependency awareness to emerge --depclean and --prune actions |
| in order to protect against uninstallation of required libraries. Refer to |
| the --depclean-lib-check option in the emerge(1) man page. |
| |
| portage-2.1.11 |
| ------------- |
| |
| * Add support for experimental EAPI "4-slot-abi". Refer to the corresponding |
| html documentation that is installed with USE=doc, and also to the emerge(1) |
| man page for information about the related --ignore-built-slot-operator-deps and |
| --rebuild-if-new-slot options. |
| |
| portage-2.1.10 |
| ------------- |
| |
| * Improve handling of repositories/overlays for cases in which the same ebuild |
| is provided by multiple repositories but with different masking status, and |
| support for repository constraints on atoms (atom::repo) in configuration |
| files. |
| * Add emerge --rebuild-if-* options that trigger rebuilds of reverse |
| dependencies when packages are rebuilt or updated. Related --rebuild-exclude |
| and --rebuild-ignore options can be used to avoid rebuilds for specific |
| packages. |
| * Add emerge --reinstall-atoms, --useoldpkg-atoms, and --usepkg-exclude options |
| which can be used to alter selection rules for specific packages. |
| * Add FEATURES=parallel-install and ebuild-locks, allowing for greater |
| parallelization when installing packages (by using finer-grained locks). |
| |
| portage-2.1.9.27 |
| ------------- |
| |
| * Add support for EAPI 4. Refer to the PMS EAPI Cheat Sheet, portage's html |
| docs installed with USE=doc, or `man 5 ebuild` for more info about EAPI 4. |
| Bug #273620 tracks EAPI 4 implementation in portage. |
| |
| portage-2.1.9 |
| ------------- |
| |
| * There is a new ipc (inter-process communication) USE flag which is enabled |
| by default. This allows portage to communicate with running ebuild processes, |
| for things like best_version, has_version, and die calls in nested processes. |
| This flag should remain enabled unless it is found to be incompatible with a |
| specific profile or environment. When enabled, it fixes bug #278895, |
| bug #315615, and makes subshell die support more robust (so that repoman's |
| ebuild.nesteddie check is irrelevant). |
| |
| portage-2.1.8 |
| ------------- |
| * The top-level __init__.py for the portage python package has been split into |
| many smaller python modules, making the code easier to navigate and allowing |
| small parts of the portage api to be imported with less overhead. |
| |
| portage-2.1.7.17 |
| ------------- |
| * Add support for EAPI 3. This adds support for installation prefix, including |
| new EPREFIX, ED, and EROOT variables which are used by econf and einstall |
| helpers. Also, EAPI 3 adds xz extension support to the unpack helper. |
| |
| portage-2.1.7 |
| ------------- |
| |
| * Add license visibility filtering (GLEP 23) |
| * Add --accept-properties option for emerge which allows you to use |
| --accept-properties=-interactive in order to temporarily exclude |
| interactive updates. |
| * Add support for Python 3.0. At least Python 2.6 is now required in order to |
| support the new syntax which is used by Python 3.0. |
| |
| portage-2.1.6 |
| ------------- |
| |
| * Add support for a new EAPI="2" value. For more information about new EAPI |
| features, refer to the "Ebuild" chapter of the html documentation that is |
| installed with portage. |
| * Add PORTAGE_IONICE_COMMAND setting for make.conf which is called to adjust |
| IO priority on portage and it's subprocesses. |
| * Add emerge --jobs and --load-average options which specify behavior |
| for building packages in parallel or for generating metadata in parallel |
| with emerge --regen. |
| * Add emerge --keep-going option to continue as much as possible after |
| an error. When an error occurs, dependencies are recalculated for |
| remaining packages and any with unsatisfied dependencies are |
| automatically dropped. The --skipfirst option automatically drops |
| packages in the same way, and also drops any masked packages. |
| * Add git and subversion support for repoman. |
| * It is now possible to use `emerge <file>` to reinstall the package that |
| installed a particular file. Package contents entries are indexed to |
| improve performance. A command such as `emerge /lib/modules` can serve |
| as a decent substitute for module-rebuild. |
| * Namespace sanitizing: move all portage related code into portage.* namespace, |
| rename portage_foo modules to portage.foo (but keep symlinks for compability) |
| * Add support for news items (GLEP 42) |
| * Add FEATURES=protect-owned which is identical to the collision-protect |
| feature except that files may be overwritten if they are not explicitly |
| listed in the contents of a currently installed package. |
| |
| portage-2.1.5 |
| ------------- |
| |
| * For extra careful dependency handling, emerge has a new --complete-graph |
| option that causes it to consider the deep dependencies of all packages from |
| the system and world sets. With this option enabled, emerge will bail out |
| if it determines that the given operation will break any dependencies of |
| the packages that have been added to the graph. Unlike the --deep option, |
| the --complete-graph option does not cause any more packages to be updated |
| than would have otherwise been updated with the option disabled. |
| * Blockers are now resolved automatically in many more cases |
| than before. When it's safe, blocked packages are uninstalled |
| automatically so that users are no longer inconvenienced with the |
| task. Automatically uninstalled packages are displayed in the merge |
| list, marked "uninstall" and highlighted in red. With the --tree |
| option enabled, it's possible to see which package(s) caused other |
| ones to be automatically uninstalled. |
| * The dependency resolver now has a feedback mechanism that helps make atom |
| selections more consistent with previous selections that have been added to |
| the graph. This solves some common cases of bug #1343. |
| |
| portage-2.1.4 |
| ------------- |
| |
| * After the initial setup phase, the original ebuild and eclasses are no |
| longer needed because the same ebuild environment is reused for the |
| entire lifecycle of the package, including uninstallation. |
| * The emerge --search action supports searching of both installed and binary packages |
| The --usepkg and --usepkgonly options control which repositories are searched. |
| |
| portage-2.1.3 |
| ------------- |
| |
| * Allow per-module setting of PORTAGE_ELOG_CLASSES |
| * Add new elog module "echo" to simply display messages when emerge exits |
| * Add ** as new token for package.keywords to bypass the keyword visibility layer |
| * USE_EXPAND variables such as LINGUAS support a * wildcard that will enable |
| all of the corresponding flags that are listed in IUSE for a given package. |
| USE_EXPAND wildcards such as linguas_* are supported in USE and package.use. |
| * The merge process preserves the modification timestamp of files that it |
| installs. The unmerge process will not uninstall files that are claimed by |
| another package in the same slot. |
| * PDEPEND is now installed as soon as possible so that it behaves more like |
| RDEPEND. This makes PDEPEND more useful for breaking the dependency cycles |
| that are sometimes triggered by RDEPEND and DEPEND. |
| * Enable "echo" and "save_summary" elog modules by default |
| * Fix -* handling in package.keywords to work as intended (reset the accepted |
| keywords list), also see RELEASE-NOTES. |
| * Make elog functionality available to python code |
| |
| portage-2.1.2 |
| ------------- |
| |
| * Ebuilds support default USE flags via +flag in IUSE. |
| * New-style virtuals are now usable for packages that depend on themselves for |
| bootstrap. |
| * Profiles support multiple inheritance and package.use. |
| * CONFIG_PROTECT and CONFIG_PROTECT_MASK both support files (not just |
| directories). |
| * 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 |
| file/mail. |
| * 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". |
| |
| portage-2.1.1 |
| ------------- |
| |
| * 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 |
| /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 PORTAGE_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. |