root/releases/pkgcore/0.2.3/NEWS @ ferringb%2540gmail.com-20070212105308-k58zgd0jk980sgvf

Revision ferringb%2540gmail.com-20070212105308-k58zgd0jk980sgvf, 10.4 kB (checked in by Brian Harring <ferringb@…>, 22 months ago)

update news.

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