summaryrefslogtreecommitdiffstats
path: root/NEWS
blob: 3d85b17a5b257dfdd9fb6cae7e9b8cba087ced1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
News (mainly features/major bug fixes)

portage-2.2
-------------

* Add support for a new EAPI="2_pre0" value that can be used in ebuilds when
  testing new features such as USE dependencies. This is an experimental EAPI
  that will not be supported after the final EAPI 2 is defined. For more
  information about experimental 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 link level dependency awareness to emerge --depclean and --prune actions
  in order to protect against uninstallation of required libraries.
* 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 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 license visibility filtering (GLEP 23)
* Experimental support for preserving old library files on package upgrades
  based on FEATURES=preserve-libs
* Add support for news items (GLEP 42)
* Add support for generic package sets (also see RELEASE-NOTES)

portage-2.1.5
-------------

* 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 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.