root/releases/pkgcore/0.2.1/NEWS @ ferringb%2540gmail.com-20070123211643-tgjbeug7okl09zs9

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