root/masterdriverz/pkgcore-dev/NEWS @ ferringb%2540gmail.com-20080828091831-8ni9gigybdn80uen

Revision ferringb%2540gmail.com-20080828091831-8ni9gigybdn80uen, 42.3 kB (checked in by Brian Harring <ferringb@…>, 3 months ago)

pkgcore 0.4.7.8; symlink permission merging fix, memory cleanups

Line 
1Pkgcore Release Notes
2=====================
3
4See ChangeLog for full commit logs; this is summarized/major changes.
5
6
7pkpgcore 0.4.7.8: August 28, 2008
8
9* pkgcore now properly preserves ownership of symlinks on merging.
10  ensure_perms plugins now need to handle symlinks (lchown at the least).
11
12* free resolver caches after resolution is finished; lower the memory
13  baseline for pmerge.
14
15* fix up interface definitions for >snakeoil-0.2 dependant_methods changes.
16  Via these cleanups and >snakeoil-0.2, memory usage is massively decreased
17  for pmerge invocations.
18
19* swallow EPIPE in pquery when stdout is closed early.
20
21
22pkgcore 0.4.7.7: August 11, 2008
23
24* Disable fakeroot tests due to odd behaviour, and the fact it's currently
25  unused.
26
27* Fix installation issue for manpages for python2.4; os.path.join behaviour
28  differs between 2.4 and 2.5.
29
30* Kill off large memory leak that reared it's head per pkg merge; still is
31  a bit of a leak remaining, but nothing near as bad as before.
32
33
34pkgcore 0.4.7.6: August 10, 2008
35
36* fix sandbox complaint when PORT_LOGDIR is enabled- sandbox requires abspath
37  for any SANDBOX_WRITE exemptions, if PORT_LOGDIR path includes symlinks,
38  force a `readlink -f` of the sandbox exemption.
39  http://forums.gentoo.org/viewtopic-p-5176414.html
40
41* ticket 213; if stricter is in FEATURES, fail out if insecure rpath is
42  detected- otherwise, correct the entries.
43
44* ticket 207; drop the attempted known_keys/cache optimizations, instead
45  defer to parent's iterkeys always.  This eliminates the concurrency issue,
46  and simplifies staleness detection.  Also kills off a tb for --newuse .
47
48* ticket 201; pquery --restrict-revdep-pkgs wasn't behaving properly for
49  slot/repository/user atoms, now does.
50
51* Correct potential segfaults in cpython version of PackageRestriction and
52  StrExactMatch's __(eq|ne)__ implementations.
53
54
55pkgcore 0.4.7.5: July 6, 2008
56
57* incremental_expansion and friends have grown a cpython implementation-
58  this speedup will show up if you are doing lots of profile work (pcheck
59  for example, which has to read effectively all profile).
60
61* if the invoking user isn't part of the portage group, don't throw a
62  traceback due to permission denied for virtuals cache.
63
64* correct a false positive in pkgcore.test.util.test_commandline that occurs
65  when snakeoil c extensions aren't enabled.
66
67* ticket 193; follow symlinks in /etc/portage/*/ directories.
68
69* ticket 203; functionfoo() {:;} is not function 'foo', it's 'functionfoo'.
70  Users shouldn't have seen this- thanks to ferdy for spotting it in an audit.
71
72* add 'skip_if_source' option to misc. binpkg merging triggers- defaults to
73  True, controls whether or not if a pkg from the target_repo should be
74  reinstalled to the repo.
75
76* make contentsSet.map_directory_structure go recursive-
77  this fixes ticket #204, invalid removal of files previously just merged.
78
79* make --newuse work with atoms/sets
80
81* add a cpy version of incremental_expansion
82
83* fix longstanding bug - finalize settings from make.conf, stopping negations
84  from being parsed twice. Without this fix, -* in a setting will negate
85  random flags set after it.
86
87* allow / in repo ids
88
89* don't show flags from previous versions of packages in --pretend output -
90  it's confusing and doesn't match portage behaviour.
91
92* fix ticket 192: ignore non-existant files in config protect checking
93
94
95pkgcore 0.4.7.4: June 11, 2008
96
97* eapi1 bug fix; check for, and execute if found, ./configure if ECONF_SOURCE
98  is unset.
99
100
101pkgcore 0.4.7.3: May 16, 2008
102
103* ticket #185; tweak the test to give better debug info.
104
105* add proper handling of very, very large revision ints (up to 64 bits).
106
107* fakeroot tests are enabled again.
108
109* misc bug fixes; pquery --revdep traceback, vecho complaints from do*
110  scripts.
111
112* explicit notice that Jason Stubbs, Brian Harring, Andrew Gaffney, and
113  Charlie Shepherd, Zac Medico contributions are available under either
114  GPL2 (v2 only) or 3 clause BSD.
115  Terms are in root directory under files names BSD, and GPL2.
116  Aside from the bash bits Harring implemented during the EBD days, the
117  remaining ebuild bash bits are Gentoo Foundation copyright (GPL2), and
118  the contributions from Marien Zwart are currently GPL2 (config bits, still
119  need explicit confirmation).
120
121  What that effectively means is that pkgcore as a whole currently is GPL2-
122  sometime in the near future, the core of pkgcore (non-ebuild bits) will be
123  BSD/GPL2, and then down the line the bash bits will be rewritten to be
124  BSD/GPL2 (likely dropping the functionality it uses down to something bash/
125  BSD shell compatible).
126
127* expansion of -try/-scm awareness to installed pkgs database.  Binpkg
128  repositories now abid by ignore_paludis_versioning also.
129
130* ticket #184; silence disable debug-print in non build/install phases.
131
132* handle malformed rsync timestamps more cleanly.
133
134
135pkgcore 0.4.7.2: May 07, 2008
136
137* new portage configuration feature- 'ignore-paludis-versioning'.  This
138  directs pkgcore to ignore nonstandard -scm ebuilds instead of complaining
139  about them.
140  Note this does *not* affect the installed pkgs database- if there is a
141  -scm ebuild in the vdb, pkgcore *must* deal with that ebuild, else if it
142  silently ignores vdb -scm pkgs it can result in overwriting parts of the
143  -scm pkg, and other weirdness.  If you've got a -scm version pkg installed,
144  it's strongly suggested you uninstall it unless you wish to be bound to that
145  nonstandard behaviour of paludis.
146
147  Finally, it's not yet covering *all* paludis version extensions- that will
148  be expanded in coming versions.
149
150* pkgcore is now aware of installed -scm pkgs, and gives a cleaner error
151  message.
152
153* a few versions of portage-2.2 automatically added @PKGSET items to the
154  world file; due to how portage has implemented their sets, this would
155  effectively convert the data to portage only.  As such, that feature was
156  reversed (thank you genone); that said, a few world files have @pkgset
157  entries from these versions.  Pkgcore now ignores it for worldfiles, and
158  levels a warning that it will clear the @pkgset entry.
159
160* ticket #174; ignore bash style comments (leading #) in pkgsets, although
161  they're wiped on update.  If folks want them preserved, come up with a way
162  that preserves the location in relation to what the comment is about- else
163  wiping seems the best approach.
164
165* ticket #14; tweak PORT_LOGDIR support a bit, so that build, install,
166  and uninstall are seperated into different logs.
167
168* added '@' operator to pmerge as an alias for --set; for example,
169  'pmerge @system' is the same as 'pmerge --set system'.
170
171* fallback method of using the file binary instead of libmagic module is
172  fixed; ticket #183.
173
174
175pkgcore 0.4.7.1: May 04, 2008
176
177* correct a flaw in repository searching that slipped past the test harness.
178  effectively breaks via inverting the negate logic for any complex search.
179
180
181pkgcore 0.4.7: May 03, 2008
182
183* prepstrip was updated to match current portage semantics, minus stripping
184  and splitdebug functionality (we handle that via a trigger).  Via this,
185  FEATURES=installsources and basic bincheck (pre-stripped binaries) is now
186  supported.
187
188* FEATURES='strip nostrip splitdebug' are now supported in portage
189  configuration (trigger is pkgcore.merge.triggers.BinaryDebug).
190
191* added cygwin ostype target for development purposes.  In no shape or form
192  is this currently considered supported, although anyone interested in
193  developing support for that platform, feel free to contact us.
194
195* in candidate identification in repository restriction matching, it was
196  possible for a PackageRestriction that was negated to be ignored, thus
197  resulting in no matches.  This has been corrected, although due to
198  collect_package_restrictions, it's possible to lose the negation state
199  leading to a similar scenario (no known cases of it currently).  This
200  codepath will need reworking to eliminate these scenarios.
201
202* mercurial+ sync prefix is now supported for hg.
203
204* triggers _priority class var is now priority; overload with a property if
205  custom functionality is needed.
206
207
208pkgcore 0.4.6: April 29, 2008
209
210* filelist sets (world file for example) are now sorted by atom comparison
211  rules.  ticket #178.
212
213* pquery --restrict-revdep-pkgs and --revdep-pkgs were added: they're
214  used to first match against possible pkgs, then do the revdep looking for
215  pkgs that revdep upon those specific versions.  Functionality may change,
216  as may the outputting of it.  ticket #179.
217
218* pebuild breakage introduced in 11/07 is corrected; back to working.
219
220* 'info' messages during merging are now displayed by default- new debug
221  message type was added that isn't displayed by default.
222
223* ebuild domain now accepts triggers configuration directive.
224
225* FEATURES=unmerge-buildpkg was added; this effectively quickpkgs a pkg
226  before it's unmerged so you have a snapshot of it's last state before
227  it is replaced.
228
229* FEATURES=pristine-buildpkg was added; this is like FEATURES=buildpkg,
230  but tbzs the pkg prior to any modification by triggers.  Upshot of this,
231  you basically have an unmodified binpkg that can be localized to the merging
232  host rather then to the builder.  Simple example, with this if your main
233  system is FEATURES=strip, it tucks away a nonstripped binpkg- so that
234  consumers of the binary repo are able to have debug symbols if they want
235  them.
236
237* FEATURES=buildsyspkg is now supported.
238
239* FEATURES=buildpkg is now supported.
240
241* the engine used for install/uninstall/replace is now configurable via
242  engine_kls attribute on the op class.
243
244* dropped exporting of USER='portage' if id is portage.  Ancient var setting,
245  can't find anything reliant on it thus punting it.
246
247* add SunOS to known OS's since it's lchown suffices for our needs.
248
249* added eapi awareness to atoms, so that an eapi1 atom only allows the
250  slot extension for example.
251
252* remove a stray printf from cpy atom; visible only when repository atoms
253  are in use.
254
255
256pkgcore 0.4.5: April 9, 2008
257
258* fix collision unprotect trigger exceptions (typically KeyError).
259  ticket #165
260
261* correct invalid passing of force keyword down when the repository isn't
262  frozen.  Occasionally triggered user visible tracebacks in pmaint copy.
263
264* portage broke compatibility with pkgcore a while back for our binpkgs-
265  for some inane reason, portage requires CATEGORY and PF in the xpak
266  segment.  This is being removed from portage in 2.2, but in the interim
267  pkgcore now forces those keys into the binpkgs xpak for compatibility
268  with portage.
269
270  Shorter version: pmaint copy generated binpkgs work with portage again.
271
272* cbuild/chost/ctarget are available via pquery --attr, and are written to
273  binpkg/vdb now.
274
275* stat removal work: FEATURES=-metadata-cache reuses existing eclass cache
276  object, thus one (and only one) scan of ${PORTDIR}/eclass
277
278* metadata, flat_hash, and paludis_flat_list cache formats configuration
279  arg 'label' is no longer required, and will be removed in 0.5.  If they're
280  unspecified, pkgcore will use location as the place to write the cache at,
281  else it'll combine location and label.
282
283* cdb, anydbm, sqlite, and sql_template cache backends have been removed
284  pending updating the code for cache backend cleanups.  If interested in
285  these backends, contact ferringb at irc://freenode.net/#pkgcore .
286
287
288pkgcore 0.4.4: April 6, 2008
289
290* merging/replacing performance may be a bit slower in this release- the level
291  of stats calls went up in comparison to previous releases, with several
292  duplicates.  This will be corrected in the next release- releasing in the
293  interim for bugfixes this version contains.
294
295* add CBUILD=${CBUILD:-${CHOST}}; couple of odd ebuilds rely on it despite
296  being outside of PMS.
297
298* protective trigger was added blocking unmerging of a basic set of
299  directories/syms; mainly /*, and /usr/*.
300
301* when a merge passes through a symlink for path resolution, that sym is
302  no longer pulled in as an entry of that pkg.  Originally this was done for
303  protective reasons, but it serves long term as a way to inadvertantly hold
304  onto undesired junk from the users fs, and opens the potential to unmerge
305  system/global symlinks when that pkg/slot's refcount hits zero.
306
307* detection, and predicting merge locations for syms was doing an unecessary
308  level of stat calls; this has been reduced to bare minimum.
309
310* ticket 159; force an realpath of CONTENTS coming from the vdb due to other
311  managers not always writing realpath'd entries, thus resulting in occasional
312  misidentification of what to remove.
313
314* pkgcore.util.parserestrict no longer throws MalformedAtom, always
315  ParseError.  Removes ugly commandline tracebacks for bad atoms supplied
316  to pmerge.
317
318* ticket 158; honor RSYNC_PROXY for rsync syncer.
319  Thanks to user Ford_Prefect.
320
321* pmerge -N now implies --oneshot.
322
323* correct a flaw in tbz2 merging where it repeatedly try to seek in the bz2
324  stream to generate chksums, instead of using the on disk files for
325  chksumming.
326
327* pmaint regen w/ > 1 thread no longer throws an ugly set of tracebacks upon
328  completion.
329
330* binpkg repositories now tell you the offending mode, and what is needed
331  to correct it.  No longer cares if the specified binpkg base location is
332  a symlink also.
333
334* pmaint --help usage descriptions are far more useful now.
335
336
337pkgcore 0.4.3: March 31, 2008
338
339* correct a corner case where a users bash_profile is noisy, specifically
340  disable using $HOME/.bashrc from all spawn_bash calls.
341
342* USE=-* in make.conf support is restored.  ticket 155.
343
344* minor tweak to package.keywords, package.use, and package.license support-
345  -* is properly supported now.  Following portage, if you're trying to
346  match keywords for a pkg that are '-* x86', you must match on x86.
347
348* pquery --attr use output for EAPI=1 default IUSE is significantly less
349  ugly.
350
351* ticket #150. EAPI1 IUSE defaults fixups.  stacking order is that default
352  IUSE is basically first in the chain, so any configuration (global, per
353  pkg, etc), will override if possible.  Effectively, this means a default
354  IUSE of "-foon" is pointless, since there is no earlier USE stack to
355  override.
356
357* pkgcore.ebuild.collapsed_restrict_to_data api was broken outside of a
358  major version bump- specifically pull_cp_data method was removed since
359  the lone consumer (pkgcore internals) doesn't need it, and the method
360  is semi dangerous to use since it only examines atoms.
361
362
363pkgcore 0.4.2: March 30, 2008
364
365* correct handling of ebuilds with explicit -r0 in filename, despite it being
366  implicit.  Thanks to rbrown for violating gentoo-x86 policy out of the blue
367  w/ an ebuild that has -r0 explicit in the filename for smoking out a bug
368  in pkgcore handling of it.  Ebuild since removed, but the KeyError issue
369  is corrected.  (keep the bugs coming)
370
371* minor performance optimization to binpkg merging when there is a large #
372  of symlink rewrites required.
373
374* ticket #153; restore <0.4 behaviour for temporal blocker validation, rather
375  then invalidly relying on the initial vdb state for blocker checks.  Fixes
376  resolution/merging of sys-libs/pam-0.99.10.0
377
378
379pkgcore 0.4.1: March 20, 2008
380
381* add tar contentsSet rewriting; tarballs sometimes leave out directories,
382  and don't always have the fully resolved path- /usr/lib/blah, when
383  /usr/lib -> /usr/lib64 *should* be /usr/lib64/blah, but tar doesn't force
384  this.  Due to that, can lead to explosions in unpacking- this is now fixed.
385
386* pquery --attr inherited was added; this feature may disappear down the
387  line, adding it meanwhile since it's useful for ebuild devs.
388
389* adjust setup.py so that man page installation properly respects --root
390
391* correct a corner case where a package name of 'dev-3D' was flagged as
392  invalid.
393
394
395pkgcore 0.4: March 18, 2008
396
397* resolver fixes: vdb loadup wasn't occuring for old style virtuals for
398  rdepend blockers, now forces it.  It was possible for a node to be
399  considered usable before it's rdepends blockers were leveled- now those
400  must be satisfied before being able to dep on the node.
401
402* resolver events cleanup; pmerge now gives far better info as to why a
403  choice failed, what it attempted to get around it, etc.
404
405* multiplex trees now discern their frozen state from their subtrees,
406  and will execute the repo_op for the leftmost subtree if unfrozen.
407
408* pquery --attr eapi was added.
409
410* ticket 94; package.provided is now supported fully both in profiles,
411  and in user profile (/etc/portage/profile).
412
413* ticket 116; ignore empty tarfile exception if the exception explicitly
414  states empty header.
415
416* utter corner case compatibility- =dev-util/diffball-1.0-r0 is now the
417  same as =dev-util/diffball-1.0 .
418
419* convert FETCHCOMMAND/RESUMECOMMAND support to execute spawn_bash by
420  default instead of trying to cut out shell; this kills off the occasional
421  incompatibility introduced via portage supplying make.globals.
422
423* FEATURES=sfperms is now a trigger instead of a dyn_preinst hook.
424  Faster, cleaner, etc.
425
426* delayed unpacking of binpkgs has been disabled; occasionally can lead to
427  quadratic behaviour in contents accessing, and extreme corner case trigger
428  breakages.  Will be re-enabled once API has been refactored to remove
429  these issues.
430
431* FEATURES=multilib-strict was converted into a trigger.  Tries to
432  use the python bindings for file first (merge file[python]), falling
433  back to invoking file.  Strongly suggested you have the bindings- fair bit
434  faster.  Finally, verification now runs for binpkgs also.
435
436* bug 137; symlink on directory merging failures where pkgcore would wipe
437  files it had just installed invalidly.
438
439* correct issue in offset rewriting (was resetting new_offset to '/')-
440  should only be api visible, no existing consumers known.
441
442* ebuild env lzma unpack support was broken; fixed (ticket 140).
443
444* Additional debug output for pmerge.
445
446* Further extending PortageFormatter to sanely handle worldfile highlights
447  and show repos with both id and location
448
449* Ticket 132: Portage Formatter supports real portage colors now,
450  thanks to agaffney for getting the ball rolling
451
452* Masked IUSEs were not treated right in all cases, thanks to agaffney
453  for report and help testing
454
455* diefunc tracebacks beautified
456
457
458pkgcore 0.3.4: Dec 26, 2007
459
460* IUSEs were filtered, unstated were not respected though breaks with
461  current portage tree, so re-enabling.
462  Also sanely handle -flag enforcing now and kill hackish code for it.
463
464
465pkgcore 0.3.3: Dec 14, 2007
466
467* IUSE defaults are respected now, so EAPI=1 implemented
468
469* Write slotted atoms to worldfile as portage supports this now
470
471* Sync up with portage; add support for lzma to unpack- mirror r7991 from
472  portage.
473
474
475pkgcore 0.3.2: Nov 3, 2007
476
477* ticket 190746 from gentoo; basically need to force the perms of first level
478  directory of an unpacked $DISTDIR to ensure it's at least readable/writable.
479  fixes unpacking of app-misc/screen-4.0.3_p20070403::gentoo-x86 .
480
481* ticket 118; if -u, don't add the node to world set.
482
483* correct a corner case in python implementation of cpv comparison (just
484  python, cpy extension handles it correctly); bug 188449 in gentoo, basically
485  floats have a limited precision, thus it was possible to get truncation in
486  comparison with specially crafted versions.
487
488* handle EOF/IOError on raw_input (for --ask) a bit more gracefully, ticket
489  108.
490
491* cd to ${WORKDIR} if ${S} doesn't exist for test/install phases; matches
492  change in portage behaviour.
493
494* Now require snakeoil version 0.2 and up- require new capability of
495  AtomicWriteFile, ability to specify uid/gid/perms.  Via that, fixes ticket
496  109 (umask leaking through to profile.env).
497
498* the 'glsa' pkgset is now deprecated in favor of 'vuln'; will remain
499  through till 0.4 (ticket #106).
500
501* ticket 105/96; fix via andkit, basically a bug in einstall lead to
502  extra einstall opts getting dropped instead of passed through.
503
504* compatibility fix for lha unpacking for nwere versions of lha.
505
506* emake now invokes ${MAKE:-make}, instead of make- undocumented ebuild
507  req, see bug 186598 at bugs.gentoo.org.
508
509* pmerge --verbose is now pmerge -F portage-verbose-formatter
510
511* Stop installing pregen symlink; functionality moved to pmaint regen.
512
513* 'pmerge --domain' was added; basically is a way to specify the domain to
514  use, else usees the configuration defined default domain.
515
516* new ebuild trigger to avoid installing files into symlinked dir (get_libdir
517  is the friend to fix a common /usr/lib -> /usr/lib64 bug), ticket 119
518
519
520pkgcore 0.3.1: June 27, 2007
521
522* ticket 86; export FILE for portage_conf FETCHCOMMAND/RESUMECOMMAND support,
523  convert from spawn_bash to spawn, add some extra error detection
524
525* Correct cleanup of unknown state ebp processors; basically discard them if
526  they fail in any way.  Cleanup inherit error msg when under ebd.
527
528* Correct permission issue for vdb virtuals cache.
529
530* ticket 84; rework overlay internals so that sorting order can't accidentally
531  expose a version masked by a higher priority repository in an overlay stack.
532
533
534pkgcore 0.3: Jun 06, 2007
535
536* pregen has moved into pmaint regen.
537
538* Several example scripts that show how to use the pkgcore api have been
539  added, among others:
540    - repo_list (lists repos and some of their attributes)
541    - changed_use (a poor man's --newuse)
542    - pkg_info (show maintainers and herds of a package)
543    - pclean (finds unused distfiles)
544
545* Pkgcore now supports several different output formats for the buildplan.
546  Portage and Paludis emulation are the notable formats, though plan
547  category/package and the original output are also available as options.
548
549* Portage formatter is now the default.
550
551* Pkgcore formatter (no longer default) output was simplified to be less
552  noisy.
553
554* Large grammar fixes for documentation.
555
556* Miscellaneous pylint cleanups, including whitespace fixes.
557
558* Most of pkgcore.util.* (mainly the non pkgcore-specific bits) have been
559  split out into a separate package, snakeoil. This includes the relevant cpy
560  extensions.
561
562* Triggers are quieter about what they're doing by default.
563
564* /etc/portage/package.* can now contain unlimited subdirectories and
565  files (ticket 71).
566
567* livefs functionality is no longer accessible in pkgcore.fs.*; have to access
568  pkgcore.fs.livefs.*
569
570* old style virtual providers from the vdb are now preferred for newer versions
571  over profile defined defaults.
572
573* added profile package.use support.
574
575* ticket 80; $REPO_LOC/profiles/categories awareness; if the file exists, the
576  repo uses it by default.
577
578* resolver refactoring; report any regressions to ferringb.  Integrated in
579  events tracking, so that the choices/events explaining the path the resolver
580  took are recorded- via this, we actually have sane "resolution failed due to"
581  messages, adding emerge -pt/paludis --show-reasons is doable without hacking
582  the resolver directly, spotting which pkgs need to be unmasked/keyworded for
583  a specific request to be satisfied, etc, all of it is doable without having
584  to insert code directly into the resolver.  Anyone interested in adding these
585  featues, please talk to harring.
586  Worth noting, the events api and data structs for the resolver are still a
587  work in process- meaning the api is not guranteed to stay stable at least
588  till the next minor release.
589
590* old style virtual pkgs are no longer combined into one with multiple
591  providers; aside from simplifying things, this fixes a few annoying resolution
592  failures involving virtual/modutils.
593
594
595pkgcore 0.2.14: April 8, 2007
596
597* correct potential for profile path calculation screwup.
598
599* refactor isolated-functions.sh so all internal vars are prefixed with
600  PKGCORE_RC_; shift vars filter to PKGCORE_RC_.* instead of RC_.* .
601  If you were having problems building courier-imap (RC_VER variable),
602  this fixes it.
603
604* better interop with paludis VDB environment dumps.
605
606* treat RESTRICT as a straight depset for UI purposes (minor, but looks
607  better this way).
608
609
610pkgcore 0.2.13: March 30, 2007
611
612* Added '~' to allowed shlex word chars.
613
614* Due to amd64 /lib -> /lib64, change the default policy for sym over
615  directory merging to allow it if the target was a directory.
616
617
618pkgcore 0.2.12: March 29, 2007
619
620* Ensure PackageRestriction._handle_exceptions filters the check down to
621  just strings; if running pure python, this could trigger a traceback
622  via the python native native_CPV.__cmp__.
623
624* Tweak python native native_CPV.__cmp__ to not explode if given an instance
625  that's not a CPV derivative.
626
627* Reorder ||() to use anything matched via the current state graph, aside
628  from normal reordering to prefer vdb.
629
630* default mode for ensure_dirs is now 0755.
631
632* Work around broken java-utils-2.eclass state handling in
633  java-pkg_init_paths_; tries to access DESTTREE in setup phase, which
634  shouldn't be allowed- fix is temporarily shifting the DESTTREE definition
635  to pre-ebuild sourcing so that it behaves.
636
637  Will be removed as soon as the eclass behaves is fixed.
638
639
640pkgcore 0.2.11: March 27, 2007
641
642* COLON_SEPARATED, not COLON_SEPERATED for env.d parsing.
643
644* fix ticket #74; "x=y@a" should parse out as 'y@a', was terminating
645  early.
646
647
648pkgcore 0.2.10: March 27, 2007
649
650* FEATURES=ccache now corrects perms as needed for when userpriv toggles.
651
652* shift PORTAGE_ACTUAL_DISTDIR and DISTDIR definition into the initial env,
653  so that evil git/subversion/cvs class can get at it globally.
654
655* pquery --attr repo now returns the repo_id if it can get it, instead of
656  the str of the repo object.
657
658* OR grouppings in PROVIDES was explicitly disabled; no ebuild uses it, nor
659  should any.
660
661
662pkgcore 0.2.9: March 19, 2007
663
664* convert use.mask/package.use.mask, use.force/package.use.force stacking
665  to match portage behaviour- basically stack use.* and package.* per profile
666  node rather then going incremental for use.*, then package.* .  If you were
667  having issues with default-linux/amd64/2006.1 profile and sse/sse2 flags for
668  mplayer, this ought to correct it.
669
670* add USE conditional support to RESTRICT.
671
672* fix noisy regression from 0.2.8 for temp declare overriding; if you saw lots
673  of complaints on env restoration, corrects it.  Superficial bug, but rather
674  noisy.
675
676* Fix a bug for binpkg creation where PROVIDES gets duplicated.
677
678* Bit more DepSet optimizations; specifically collapses AND restriction into
679  the parent if it is also an AND restriction.
680
681* make --no-auto work correctly for pebuild
682
683* delay DISTDIR setup till unpack phase to prevent any invalid access; also
684  takes care of a pebuild traceback.
685
686
687pkgcore 0.2.8: March 17, 2007
688
689* fix bug so that 6_alpha == 6_alpha0 when native_CPV is in use; only possible
690  way to have hit the bug is having all extensions disabled (CPY version gets it
691  right).
692
693* add a trigger to rewrite symlink targets if they point into ${D}
694
695* info trigger now ignores any file starting with '.'; no more complaints about
696  .keep in info dirs.
697
698* if an ebuild has a non-default preinst and offset merging, a rescan of ${D}
699  is required- offset wasn't being injected, fixed.
700
701* if offset merging for a binpkg, reuse the original contentsSet class-
702  this prevents quadratic (worst case) seeking of the tarball via preserving
703  the ordering.
704
705* if merging a binpkg and a forced decompression is needed, update the
706  cset in memory instead of forcing a scan of ${D}.
707
708* misc filter-env fixes, cleanup, and tests.
709
710* change var attr (exported/readonly) env storage to better interop with
711  the others; internally, we still delay the var attr/shopt resetting till
712  execution.
713
714* misc initialization fixes to syncers for when invoked via GenericSyncer.
715  If previously layman integration wasn't working for you, should now.
716
717* shift the misc fs property triggers to pre_merge, rather then sanity_check;
718  sanity_check should be only for "do I have what I need to even do the merge?"
719  and minimal setup for the op (for example, transfering files into workdir).
720  Running preinst was occasionally wiping the changes the triggers made, thus
721  allowing screwed up ebuilds with custom preinst's to slip in a portage gid
722  for merge.
723
724* fix a corner case for cpy join spotted by TFKyle where length calculation
725  was incorrect, leading to a trailing null slipping into the calculated
726  path.
727
728* fix bash parsing for a corner case for empty assigns; literally,
729  x=
730  foo='dar'
731  would incorrectly interpret x=foo, instead of x=''.
732
733
734pkgcore 0.2.7: March 4, 2007
735
736* layman configuration (if available) is now read for portage configuration
737  for sync URI for overlays.  tar syncer is currently unsupported; others may
738  be buggy.  Feed back desired (author doesn't use layman).  Ticket #11.  If
739  you want it disabled, add FEATURES=-layman-sync .
740
741* another fix for daft tarballs that try to touch cwd.
742
743
744pkgcore 0.2.6: March 4, 2007
745
746* make intersecting ~ and =* atoms work again (used by pquery --revdep)
747
748* catch a corner case py2.5 bug where AttributeError bleeds through from
749  generic_equality.
750
751* Via solars prodding, finished up the remaining bits for ROOT support.
752
753* resolver traceback for if a requested atom is already known as insoluable.
754  Thanks to kojiro for spotting it.
755
756* misc bash code cleanup.
757
758* PATH protection has been loosened slightly to enable 'weird' eclasses that
759  are doing global PATH mangling.
760
761* $HOME location for building was shifted into the targeted packages
762  directory, rather then a shared within $PORTAGE_TMPDIR.
763
764* setgid/setuid triggers now match portage behaviour; -s,o-w mode change.
765
766* trigger warnings are now enabled.
767
768* New default trigger added; CommonDirectoryModes, checks for common
769  directories (/usr, /etc, /usr/bin, /usr/lib for example) in the merge set,
770  checking the packages specified modes for them.  If not 0755, throws a
771  warning.
772
773* For directory on directory merging, ensure_perms (default op) was changed
774  to preserve the existing directories permissions.  Generally speaking, this
775  means that later versions of an ebuild have to use post_inst to correct the
776  perms if they're incorrect- previously, the new perms/mode were forced on
777  the existing.  Several common ebuilds (openssl for example) will generate
778  weird modes on common directories however (heavily restricted perms), which
779  can break things.  For the time being, the default is scaled down to the
780  looser form portage does.
781
782* added man page generation: pquery, pmerge
783
784* pconfig now has a "dump-uncollapsed" command to dump the "raw" config.
785
786* pebuild now supports --no-auto to run just the targeted phase.
787
788* mass expansion of test coverage: pkgcore.restrictions.*,
789  pkgcore.util.*, pkgcore.ebuild.*
790
791* minor cleanup of pkgcore.test.ebuild.test_cpv to reduce redundant data sets;
792  total testcase runtime reduction by about a third.
793
794* diverge from unittest.TestCase to provide extra checks for normal asserts-
795  assertNotEqual for example, checks both __eq__ and __ne__ now to smoke out
796  any potential oversights in object equality implementation.
797
798* use nsec mtime resolution if available to match python stdlib.
799
800* env var PORTAGE_DEBUG for controlling how much debug info the ebuild env
801  generates is now PKGCORE_DEBUG; range is the same, 0 (none), 1 (just the
802  ebuild/eclass), 2 (1 + relevant setup code), 3 (2 + filter-env data),
803  4 (everything).
804
805
806pkgcore 0.2.5: Feb 19, 2007
807
808* handle corner case in depend cycle processing where a package directly
809  depends upon itself; fixes processing of sys-devel/libtool specifically.
810
811* for pquery --attr keywords, sort by arch, not by stable/unstable.
812
813* correct misc corner case atom bugs; an intersection bug, miss on an invalid
814  use dep atom lacking a closure in cpy atom, verification of use chars in
815  native atom,
816
817* osutils extensions tests, correcting a few cpy differences in behaviour from
818  native.
819
820* For unpacking a tarball that doesn't have it's files in a subdir, tar will
821  occasionally try to utime the cwd resulting in a failure- uid owner for
822  WORKDIR was changed to allow tar to do the utime, thus succeed in unpacking.
823  Only visible for userpriv and with oddball packages, gnuconfig for example.
824
825* Cleanup of a few slow test cases; running the test suite should now be around
826  25%-33% faster.
827
828
829pkgcore 0.2.4: Feb 16, 2007
830
831* refactoring of trigger implementations- cleanup and tests.  Additionally,
832  eliminate a potential mtime based frace if the underlying fs (or python
833  version) doesn't do subsecond resolution.
834
835* force FEATURES into the exported ebuild env always.
836
837* for pmerge -p $target, which prefers reuse normally, *still* prefer the
838  highest versions, just examine vdb first, then nonvdb.
839
840* minor optimization in readlines usage in the backend; kills off a duplicate
841  stat call.
842
843* if a stale cache entry is detected, and the backend is writable, wipe the
844  cache entry.  Little bit slower when detected, but saves parsing the file
845  next time around.
846
847
848pkgcore 0.2.3: Feb 12, 2007
849
850* support for ** in package.keywords
851
852* export preparsed SLOT to ebuild env; ebuilds shouldn't rely on this
853  since it can lead to fun metadata issues, but certain eclasses do.
854
855* fix exporting finalized form of RESTRICT to the build env; ticket 61.
856
857* fix for RESTRICT=fetch to not treat the filename as a uri.
858
859* expose the full make.conf environment to FETCHCOMMAND and RESUMECOMMAND-
860  ticket 58
861
862* added support for make.conf defined FETCH_ATTEMPTS; max # of unique uris to
863  attempts per file before giving up, defaults to 10.
864
865* added int_parser type for config instantiation definitions (ConfigHint),
866  and usual introspection support.
867
868* fix regression limiting satisifiers for depends to installed only in corner
869  case installed bound cycles; automake/perl specifically trigger this, thus
870  most folks should have seen it if using -B.
871
872* Better handling of non-ascii characters in metadata.xml.
873
874
875pkgcore 0.2.2: Jan 30, 2007
876
877* The terminfo db is now used for xterm title updates. If title updates
878  worked in pkgcore 0.2 or 0.2.1 and no longer work in 0.2.2 file a bug and
879  include the TERM environment variable setting.
880
881* misc fixup for asserts in cpy code when debugging is enabled, and closing
882  directory fds when corner case error paths are taken (out of memory for
883  example).
884
885* atoms are picklable now.
886
887* add tests for pmaint copy (quickpkg equivalent), and add
888  --ignore-existing option to copy just pkgs that don't exist in the
889  target repo.
890
891* fix pmerge handling of --clean -B for automake and a few other DEPEND level
892  hard cycles.
893
894
895pkgcore 0.2.1: Jan 24, 2007
896
897* fix corner case for portage configuration support; old system (<=2004)
898  installations may have /etc/portage/sets/world, which confused pmerges
899  world updating, leading to writing bad entries.  Ticket 54.
900
901* fix issues with distcc/ccache (ticket 55) so that they actually work.
902
903* fix pconfig dump traceback; ticket 56.
904
905
906pkgcore 0.2: Jan 22, 2007
907
908* glsa pkgset will now include metadata/glsa from overlays.
909
910* pmaint script; tool for --sync'ing, doing quickpkging, moving packages
911  between repos for repository conversions. General repository maintenance.
912
913* sync subsystem: supports bzr, cvs, darcs, git, mercurial (hg), rsync,
914  and subversion.
915
916* binpkg repositories now support modification; FEATURES=buildpkg basically
917
918* binpkg contents handling is significantly faster.
919
920* pmerge:
921  * supports --ask (thanks to nesl247/alex heck)
922  * pmerge --replace is default now; use --noreplace for original behaviour.
923  * 'installed' set was added; is a pkgset comprised of all slotted atoms from
924    the vdb; useful for pmerge -u to enable upgrades of *everything* installed.
925  * versioned-installed set was added; useful for -e, this set is compromised
926    of exact version of everything installed.
927  * added --with-built-depends, -B; resolver defaults to ignoring 'built'
928    ebuild depends (those from vdb, from binpkgs for example), this option
929    tells it to update those depends.
930
931* xterm titles
932
933* massive resolver cleanup, and general fixes.
934
935* rewritten plugins system, register_plugins is no longer used.
936
937* paludis flat_list cache read/write support.
938
939* portage flat_list cache write support (cache used for
940  $PORTDIR/metadata/sync)
941
942* pebuild/pregen/pclone_cache: heavy UI cleanup.
943
944* pquery:
945  * prettier printing of depends/rdepends/post_rdepends under -v
946  * print revdep reasons
947  * now requires an arg always; previously defaulted to '*', which is
948    still supported but also accessible via --all .
949  * added --maintainers-email and --maintainers-name; use case insensitive
950    regex by default for --maintainer style options.
951
952* added repo_id atom extension; see doc/extended-atom-syntax.rst for details.
953  short version, sys-apps/portage::gentoo would match portage *only* from
954  ``gentoo`` repository.
955
956* overlays now combine mirror targets from their parent repository, and
957  from their own repository data.
958
959* configuration subsystem:
960  * configuration: lazy section refs were added (lazy_ref), useful for when
961    the object arguement needs to be instantiated rarely (syncers for
962    repositories for example).
963
964  * mke2fs (literal /etc/mke2fs.conf file) akin configuration format was
965    added, pkgcore.config.mke2fsformat.config_from_file.
966
967* expanded test coverage.
968
969* merged standalone test runner into setup.py; prefered way of running it is
970  ``python setup.py test`` now.
971
972* ongoing portage configuration support additions-
973  * FEATURES=collision-protect support
974  * INSTALL_MASK support, FEATURES noinfo, nodoc, and noman support.
975  * /etc/portage/package.* files can be directories holding seperate files
976    to collapse
977
978* gnu info regeneration trigger added.
979
980* performance improvements:
981  * cpython extensions of select os.path.* functionality; 20x boost for what
982    was converted over (stdlib's posix module is a bit inefficient).
983
984  * cpython extension for file io in pkgcore.util.osutils: 7x faster on ENOENT
985    cases, 4x-5x on actual reading of small files (think cache files).  If
986    iterating over lines of a file, use pkgcore.util.osutils.readlines- again,
987    faster then standard file object's equivalent- 3x reduction (7.6ms to 2.5ms
988    for full contents  reading).
989
990  * partial cpython reimplementation of atom code; mainly parsing, and
991    critical __getattr__ invocation (2+x faster parse).
992
993  * partial cpython reimplementation of depset code; strictly just parsing.
994    Faster (given), but mainly is able to do optimizations to the depset
995    cheaply that python side is heavily slowed down by- ( x ( y ) ) becomes
996    ( x y ) for example.
997
998  * chunks of restriction objects were pushed to cpython for memory reasons,
999    and bringing the instantiation cost down as low as possible (the common
1000    restrict objects now are around 1-3us for new instantation, .5 to 1us
1001    for getting a cached obj instead of instantiating).
1002
1003  * bug corrected in base repo classes identify_candidates method; should now
1004    force a full walk of the repo only when absolutely required.
1005
1006  * chksuming now does a single walk over a file for all checksummers,
1007    instead of one walk per checksummer- less disk thrashing, better
1008    performance.
1009
1010  * vdb virtuals caching; massive performance boost via reduced IO.  Relies on
1011    mtime checks of vdb pkg directories for staleness detection,
1012    auto-regenerating itself as needed.
1013
1014* heavy profile code cleanup; should only read each common profile node once
1015  now when loading up multiple profiles (pcheck).  Far easier code to read
1016  in addition.
1017
1018* cache eclass staleness verification now relies on mtime comparison only-
1019  allows for eclasses to move between repos; matches portage behaviour.
1020
1021* pkgcore.util.caching.*, via __force_caching__ class attr in consumers, can
1022  be used to force singleton instance creation/caching (error if unhashable).
1023
1024* ebuild support:
1025  * PORTAGE_ACTUAL_DISTDIR was reenabled, thus cvs/svn equivalent ebuilds are
1026    usable once again.
1027  * fixed pkgcore's pkgcore emulation of has_version/best_version matching
1028    behaviour for old style virtuals to match portages (oddity, but ebuilds
1029    rely on the goofy behaviour).
1030  * various fixups to unpack function; should match portage behaviour as of
1031    01/07 now.
1032  * if FEATURES=test, set USE=test; if USE=test has been explicitly masked for
1033    a package, disable src_test run; matches portage 2.1.2 behaviour.
1034  * cleanup build directory, and unmerge directories upon finishing
1035
1036* filter-env now is accessible directly via python; pkgcore.ebuild.filter_env.
1037  Needs further work prior to being usable for pcheck inspection of ebuilds,
1038  but it's a good start.
1039
1040
1041pkgcore 0.1.4: Oct 24, 2006
1042
1043* Compatibility with caches written by portage 2.1.2_pre3-r8.
1044
1045
1046pkgcore 0.1.3: Oct 24, 2006
1047
1048* Always process "|| ( a b )" in the right order.
1049
1050  * Fix disabling a flag in package.use.mask or package.use.force.
1051
1052
1053pkgcore 0.1.2: Oct 10, 2006
1054
1055* Make filter_env work on hppa (and possibly more architectures) where using
1056  python CFLAGS for this standalone binary does not work.
1057
1058* Fall back to plain text output if the TERM variable is unsupported.
1059
1060* Deal with dangling symlinks in binpkg repositories.
1061
1062* Fix expanding of incrementals (like USE) in make.defaults.
1063
1064* pquery: support --attr fetchables, handle extra commandline arguments as
1065  -m or --expr restrictions.
1066
1067* USE deps once again allow setting a flag only if it is actually settable
1068  on the target package.
1069
1070
1071pkgcore 0.1.1: Oct 02, 2006
1072
1073* hang fix for test_filter_env
1074
1075* package.keywords fixes: no longer incremental, supports '*' and '~*'
1076  properly
1077
1078* FEATURES="userpriv" support works again.
1079
1080* pmerge repository ordering now behaves properly; prefers src ebuilds, then
1081  built pkgs; -k inverts that (previously was semi-undefined)
1082
1083* binpkg fixes: run setup phase
1084
1085* replace op fixes: force seperate WORKDIR for unmerge to protect against
1086  env collisions
1087
1088* loosened category rules: allow _. chars to support cross-dev hack.
1089
1090* build fixes: make $A unique to avoid duplicate unpacks; force distdir
1091  creation regardless of whether or not the pkg has any stated SRC_URI
1092  (fixes cvs and subversion eclsas usage).  Fix sandbox execution to chdir
1093  to an existant directory (sandbox will fail if ran from a nonexistant dir).
1094
1095* change DelayedInstantiation objects to track __class__ themselves; this
1096  fixes pquery to properly shutdown when ctrl+c'd (previously could swallow
1097  the interrupt due to cpython isinstance swallowing KeyboardInterrupt).
1098
1099
1100pkgcore 0.1: Sep 30, 2006
1101
1102* Initial release.
1103
1104* Sync functionality doesn't yet exist (pmaint script will be in 0.2)
1105
1106* pmerge vdb modification requires --force; this will be disabled in 0.2,
1107  mainly is in place so that folks who are just looking, don't inadvertantly
1108  trigger an actual modification.
1109
1110* not all portage FEATURES are implemented; same for QA.
1111
1112* If overlays are in use, pkgcore may defer to its' seperate cache to avoid
1113  pkgcore causing cache regen for portage (and vice versa); this occurs due
1114  to pkgcore treating overlays as their own repo and combining them at a
1115  higher level; portage smushes them all together thus rendering each subtree
1116  unusable in any standalone fashion.
1117
1118* pkgcore is far more anal about blocking bad behaviour in ebuilds during
1119  metadata regeneration; tree is clean, but if you do something wrong in
1120  global scope, it *will* catch it and block it.
1121
1122* EBD; daemonized ebuild.sh processing (effectively), pkgcore reuses old
1123  ebuild.sh processes to avoid bash startup, speeding regen up by roughly
1124  2x.
Note: See TracBrowser for help on using the browser.