root/releases/pkgcore/0.2.5/NEWS @ ferringb%2540gmail.com-20070219201313-uqugl8hqmqtca6wu

Revision ferringb%2540gmail.com-20070219201313-uqugl8hqmqtca6wu, 11.9 kB (checked in by Brian Harring <ferringb@…>, 21 months ago)

0.2.5.

Line 
1Pkgcore Release Notes
2=====================
3
4See ChangeLog for full commit logs; this is summarized/major changes.
5
6
7pkgcore 0.2.5:
8
9* handle corner case in depend cycle processing where a package directly
10  depends upon itself; fixes processing of sys-devel/libtool specifically.
11
12* for pquery --attr keywords, sort by arch, not by stable/unstable.
13
14* correct misc corner case atom bugs; an intersection bug, miss on an invalid
15  use dep atom lacking a closure in cpy atom, verification of use chars in
16  native atom,
17
18* osutils extensions tests, correcting a few cpy differences in behaviour from
19  native.
20
21* For unpacking a tarball that doesn't have it's files in a subdir, tar will
22  occasionally try to utime the cwd resulting in a failure- uid owner for
23  WORKDIR was changed to allow tar to do the utime, thus succeed in unpacking.
24  Only visible for userpriv and with oddball packages, gnuconfig for example.
25
26* Cleanup of a few slow test cases; running the test suite should now be around
27  25%-33% faster.
28
29
30pkgcore 0.2.4:
31
32* refactoring of trigger implementations- cleanup and tests.  Additionally,
33  eliminate a potential mtime based frace if the underlying fs (or python
34  version) doesn't do subsecond resolution.
35
36* force FEATURES into the exported ebuild env always.
37
38* for pmerge -p $target, which prefers reuse normally, *still* prefer the
39  highest versions, just examine vdb first, then nonvdb.
40
41* minor optimization in readlines usage in the backend; kills off a duplicate
42  stat call.
43
44* if a stale cache entry is detected, and the backend is writable, wipe the
45  cache entry.  Little bit slower when detected, but saves parsing the file
46  next time around.
47
48
49pkgcore 0.2.3:
50
51* support for ** in package.keywords
52
53* export preparsed SLOT to ebuild env; ebuilds shouldn't rely on this
54  since it can lead to fun metadata issues, but certain eclasses do.
55
56* fix exporting finalized form of RESTRICT to the build env; ticket 61.
57
58* fix for RESTRICT=fetch to not treat the filename as a uri.
59
60* expose the full make.conf environment to FETCHCOMMAND and RESUMECOMMAND-
61  ticket 58
62
63* added support for make.conf defined FETCH_ATTEMPTS; max # of unique uris to
64  attempts per file before giving up, defaults to 10.
65
66* added int_parser type for config instantiation definitions (ConfigHint),
67  and usual introspection support.
68
69* fix regression limiting satisifiers for depends to installed only in corner
70  case installed bound cycles; automake/perl specifically trigger this, thus
71  most folks should have seen it if using -B.
72
73* Better handling of non-ascii characters in metadata.xml.
74
75
76pkgcore 0.2.2:
77
78* The terminfo db is now used for xterm title updates. If title updates
79  worked in pkgcore 0.2 or 0.2.1 and no longer work in 0.2.2 file a bug and
80  include the TERM environment variable setting.
81
82* misc fixup for asserts in cpy code when debugging is enabled, and closing
83  directory fds when corner case error paths are taken (out of memory for
84  example).
85
86* atoms are picklable now.
87
88* add tests for pmaint copy (quickpkg equivalent), and add
89  --ignore-existing option to copy just pkgs that don't exist in the
90  target repo.
91
92* fix pmerge handling of --clean -B for automake and a few other DEPEND level
93  hard cycles.
94
95
96pkgcore 0.2.1:
97
98* fix corner case for portage configuration support; old system (<=2004)
99  installations may have /etc/portage/sets/world, which confused pmerges
100  world updating, leading to writing bad entries.  Ticket 54.
101
102* fix issues with distcc/ccache (ticket 55) so that they actually work.
103
104* fix pconfig dump traceback; ticket 56.
105
106
107pkgcore 0.2:
108
109* glsa pkgset will now include metadata/glsa from overlays.
110
111* pmaint script; tool for --sync'ing, doing quickpkging, moving packages
112  between repos for repository conversions. General repository maintenance.
113
114* sync subsystem: supports bzr, cvs, darcs, git, mercurial (hg), rsync,
115  and subversion.
116
117* binpkg repositories now support modification; FEATURES=buildpkg basically
118
119* binpkg contents handling is significantly faster.
120
121* pmerge:
122  * supports --ask (thanks to nesl247/alex heck)
123  * pmerge --replace is default now; use --noreplace for original behaviour.
124  * 'installed' set was added; is a pkgset comprised of all slotted atoms from
125    the vdb; useful for pmerge -u to enable upgrades of *everything* installed.
126  * versioned-installed set was added; useful for -e, this set is compromised
127    of exact version of everything installed.
128  * added --with-built-depends, -B; resolver defaults to ignoring 'built'
129    ebuild depends (those from vdb, from binpkgs for example), this option
130    tells it to update those depends.
131
132* xterm titles
133
134* massive resolver cleanup, and general fixes.
135
136* rewritten plugins system, register_plugins is no longer used.
137 
138* paludis flat_list cache read/write support.
139
140* portage flat_list cache write support (cache used for
141  $PORTDIR/metadata/sync)
142 
143* pebuild/pregen/pclone_cache: heavy UI cleanup.
144 
145* pquery:
146  * prettier printing of depends/rdepends/post_rdepends under -v
147  * print revdep reasons
148  * now requires an arg always; previously defaulted to '*', which is
149    still supported but also accessible via --all .
150  * added --maintainers-email and --maintainers-name; use case insensitive
151    regex by default for --maintainer style options.
152
153* added repo_id atom extension; see doc/extended-atom-syntax.rst for details.
154  short version, sys-apps/portage::gentoo would match portage *only* from
155  ``gentoo`` repository.
156
157* overlays now combine mirror targets from their parent repository, and
158  from their own repository data.
159
160* configuration subsystem:
161  * configuration: lazy section refs were added (lazy_ref), useful for when
162    the object arguement needs to be instantiated rarely (syncers for
163    repositories for example).
164
165  * mke2fs (literal /etc/mke2fs.conf file) akin configuration format was
166    added, pkgcore.config.mke2fsformat.config_from_file .
167
168* expanded test coverage.
169 
170* merged standalone test runner into setup.py; prefered way of running it is
171  ``python setup.py test`` now.
172
173* ongoing portage configuration support additions-
174  * FEATURES=collision-protect support
175  * INSTALL_MASK support, FEATURES noinfo, nodoc, and noman support.
176  * /etc/portage/package.* files can be directories holding seperate files
177    to collapse
178
179* gnu info regeneration trigger added.
180
181* performance improvements:
182  * cpython extensions of select os.path.* functionality; 20x boost for what
183    was converted over (stdlib's posix module is a bit inefficient).
184 
185  * cpython extension for file io in pkgcore.util.osutils: 7x faster on ENOENT
186    cases, 4x-5x on actual reading of small files (think cache files).  If
187    iterating over lines of a file, use pkgcore.util.osutils.readlines- again,
188    faster then standard file object's equivalent- 3x reduction (7.6ms to 2.5ms
189    for full contents  reading).
190
191  * partial cpython reimplementation of atom code; mainly parsing, and
192    critical __getattr__ invocation (2+x faster parse).
193 
194  * partial cpython reimplementation of depset code; strictly just parsing.
195    Faster (given), but mainly is able to do optimizations to the depset
196    cheaply that python side is heavily slowed down by- ( x ( y ) ) becomes
197    ( x y ) for example.
198
199  * chunks of restriction objects were pushed to cpython for memory reasons,
200    and bringing the instantiation cost down as low as possible (the common
201    restrict objects now are around 1-3us for new instantation, .5 to 1us
202    for getting a cached obj instead of instantiating).
203
204  * bug corrected in base repo classes identify_candidates method; should now
205    force a full walk of the repo only when absolutely required.
206
207  * chksuming now does a single walk over a file for all checksummers,
208    instead of one walk per checksummer- less disk thrashing, better
209    performance.
210
211  * vdb virtuals caching; massive performance boost via reduced IO.  Relies on
212    mtime checks of vdb pkg directories for staleness detection,
213    auto-regenerating itself as needed.
214
215* heavy profile code cleanup; should only read each common profile node once
216  now when loading up multiple profiles (pcheck).  Far easier code to read
217  in addition.
218
219* cache eclass staleness verification now relies on mtime comparison only-
220  allows for eclasses to move between repos; matches portage behaviour.
221
222* pkgcore.util.caching.*, via __force_caching__ class attr in consumers, can
223  be used to force singleton instance creation/caching (error if unhashable).
224
225* ebuild support:
226  * PORTAGE_ACTUAL_DISTDIR was reenabled, thus cvs/svn equivalent ebuilds are
227    usable once again.
228  * fixed pkgcore's pkgcore emulation of has_version/best_version matching
229    behaviour for old style virtuals to match portages (oddity, but ebuilds
230    rely on the goofy behaviour).
231  * various fixups to unpack function; should match portage behaviour as of
232    01/07 now.
233  * if FEATURES=test, set USE=test; if USE=test has been explicitly masked for
234    a package, disable src_test run; matches portage 2.1.2 behaviour.
235  * cleanup build directory, and unmerge directories upon finishing
236
237* filter-env now is accessible directly via python; pkgcore.ebuild.filter_env .
238  Needs further work prior to being usable for pcheck inspection of ebuilds,
239  but it's a good start.
240
241
242pkgcore 0.1.4:
243
244* Compatibility with caches written by portage 2.1.2_pre3-r8.
245
246
247pkgcore 0.1.3:
248
249* Always process "|| ( a b )" in the right order.
250
251  * Fix disabling a flag in package.use.mask or package.use.force.
252
253
254pkgcore 0.1.2:
255
256* Make filter_env work on hppa (and possibly more architectures) where using
257  python CFLAGS for this standalone binary does not work.
258
259* Fall back to plain text output if the TERM variable is unsupported.
260
261* Deal with dangling symlinks in binpkg repositories.
262
263* Fix expanding of incrementals (like USE) in make.defaults.
264
265* pquery: support --attr fetchables, handle extra commandline arguments as
266  -m or --expr restrictions.
267
268* USE deps once again allow setting a flag only if it is actually settable
269  on the target package.
270
271
272pkgcore 0.1.1:
273
274* hang fix for test_filter_env
275 
276* package.keywords fixes: no longer incremental, supports '*' and '~*'
277  properly
278 
279* FEATURES="userpriv" support works again.
280 
281* pmerge repository ordering now behaves properly; prefers src ebuilds, then
282  built pkgs; -k inverts that (previously was semi-undefined)
283 
284* binpkg fixes: run setup phase
285 
286* replace op fixes: force seperate WORKDIR for unmerge to protect against
287  env collisions
288 
289* loosened category rules: allow _. chars to support cross-dev hack.
290 
291* build fixes: make $A unique to avoid duplicate unpacks; force distdir
292  creation regardless of whether or not the pkg has any stated SRC_URI
293  (fixes cvs and subversion eclsas usage).  Fix sandbox execution to chdir
294  to an existant directory (sandbox will fail if ran from a nonexistant dir).
295 
296* change DelayedInstantiation objects to track __class__ themselves; this
297  fixes pquery to properly shutdown when ctrl+c'd (previously could swallow
298  the interrupt due to cpython isinstance swallowing KeyboardInterrupt).
299 
300 
301pkgcore 0.1:
302
303Initial release.
304 
305* Sync functionality doesn't yet exist (pmaint script will be in 0.2)
306 
307* pmerge vdb modification requires --force; this will be disabled in 0.2,
308  mainly is in place so that folks who are just looking, don't inadvertantly
309  trigger an actual modification.
310 
311* not all portage FEATURES are implemented; same for QA.
312 
313* If overlays are in use, pkgcore may defer to its' seperate cache to avoid
314  pkgcore causing cache regen for portage (and vice versa); this occurs due
315  to pkgcore treating overlays as their own repo and combining them at a
316  higher level; portage smushes them all together thus rendering each subtree
317  unusable in any standalone fashion.
318
319* pkgcore is far more anal about blocking bad behaviour in ebuilds during
320  metadata regeneration; tree is clean, but if you do something wrong in
321  global scope, it *will* catch it and block it.
322 
323* EBD; daemonized ebuild.sh processing (effectively), pkgcore reuses old
324  ebuild.sh processes to avoid bash startup, speeding regen up by roughly
325  2x.
Note: See TracBrowser for help on using the browser.