root/releases/pkgcore/0.2.4/NEWS @ ferringb%2540gmail.com-20070216163522-wpaqocuwnrf98z9u

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

hah, I fail at life. version 0.2.4; missed a release there ;)

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