root/releases/pkgcore/0.2.2/NEWS @ marienz%2540gentoo.org-20070129144906-kqkmgen9pvvmw4u7

Revision marienz%2540gentoo.org-20070129144906-kqkmgen9pvvmw4u7, 9.5 kB (checked in by Marien Zwart <marienz@…>, 22 months ago)

NEWS entry for the xterm titles change.

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