------------------------
- Due to crazy work hours and moves, this release is fairly large, and frankly
repeatedly delayed. Future ones will be far more fine grained moving forward.
- Fix python2.7 incompatiblity in pkgcore.ebuild.misc
- It's suggested that folks use bash 4.1, primarily for regen
speed reasons- it is not required however.
- bash spawning now enforce --norc and --noprofile in full.
- RESTRICT is now properly use evaluated.
- pkgcore.restrictions.values.ContainmentMatch is deprecated in favor of
ContainmentMatch2. Update your code- by pkgcore 0.7, ContainmentMatch
will become ContainmentMatch2, and a shim will be left in place.
- introduction of EAPI objects (pkgcore.ebuild.eapi) for controlling/defining
new eapi's, capabilities, etc.
- pmaint regen is now cumulatively ~23x faster then the previous release.
This is via restoration of original metadata regeneration speeds, and
via enabling an eclass preloading optimization. No impact on metadata-
just far faster regeneration.
- Roughly a 15x speedup in general metadata regeneration; basically rework
a fix that was added to to 0.5.11 (dealing with portage induced
breakage in env loadup from their declare usage).
- filter-env regex backend now uses python's re always; previously
if the extension was active it would use posix regex.
This resolves occasional odd failures when running native filter-env.
- fix a truncation error in suffix version parsing resulting in
_p2010081516093 being less than _p2009072801401 .
- pkgcore.ebuild.restricts now contains some generally useful
building block restrictions for any api consumers
- full rewrite of EAPI helpers adding better error info, saner code,
double checked against PMS and portage/paludis to ensure no oddities.
- fix to buildpkg/pristine-binpkg saving. If you're looking for
something to contribute to pkgcore wise, tests for this would be
appreciated.
- write support for DEFINED_PHASES.
- bashrc hooks now run from ${S} or ${WORKDIR}, depending on
PMS rules for that phase.
- match the other PM's for econf; update ${WORKDIR} instances of
config.{sub,guess} from /usr/share/gnuconfig.
- added protection against bad environment dumps from other PMs for T
during env restoration.
- removed RESTRICT=autoconfig support.
- fix compatibility regression introduced in file-5.05 involving MAGIC_NONE.
- handle keyboard interrupts better during compilation; no longer display
die tracebacks if the user intentionally stopped the compilation.
- duplicate a portage workaround for emacs ebuild; specifically don't
regenerate infodir if the ebuild placed a .keepinfodir in the directory.
gentoo bug 257260.
- add workaround to disable unzip during unpack going interactive during
a failure; gentoo bug 336285.
- fixed traceback during displaying a summary for 'pinspect eapi_usage'
- add EAPI limitation to all portageq invocations, and support USE dep
usage with has_version and friends.
- handle portage's new interpretation of the sync retries variable for portage
configuration.
- pinspect distfiles_usage was added; this is primarily useful for getting
a repository level view of what the distfiles requirements are, what takes
what percentile of unique space, etc.
- FEATURES=allow-missing-manifests ; does exactly as it sounds, not advised to
use unless you know what you're doing.
- ospkg's fork of pkgcore has been folded in; FEATURES=save-deb is the primary
addition.
- extended atom syntax now allows '*' to be used w/in a string- for example
dev-\*kde, \*dev-\*k\*de\*, etc. This syntax is usable in user configs, and
from the commandline.
- new FEATURES=fixlafiles is on by default; basically folds
dev-util/lafilefixer functionality directly into the merger.
Note this version drops comments- it's about a 66% reduction in .la system
filespace requirements via doing so.
- triggers base class now carries a ConfigHint to provide a typename. If
a specific trigger cannot be specified by configuration directly, set
pkgcore_config_type = None to disable the hint removing it from being
directly configurable.
For users: this means basically all triggers are now directly usable in
configuration.
- object inspection for configuration can now handle object.__init__ for
config 'class' targets; no need to define an intermediate function.
- ConfigHints can now specify authorative=True to disable all introspection.
Mainly usedful for cpy objects, although useful if you want to limit what
the introspection exposes.
- api's for installing pkgs has changed; now to install a pkg to a domain,
you invoke domain.(install|uininstall|remove)_pkg. To just modify a repo,
access its operations for the appropriate operation.
- pkgcore.interfaces was moved to pkgcore.operations
- pkgcore.package.base derived objects no longer default to _get_attr dict
lookup- if you want it, set __getattr__ = dynamic_attr_dict.
- USE is now locked an intersection of the pkgs IUSE, with forced flags
(things like arch, userland, prefix, etc) added on. Mild speed up from
dealing with a reduced set, more importantly portage switched to controlled
USE here, so we can force it finally.
- USE collapsing now should match portage behaviour. Essentially now,
pkg IUSE + profile overrides + make.conf overrides + user config package.use
overrides. Previous behaviour didn't get edge cases correct.
- USE_EXPAND default iuse is now fully overridden if the target USE_EXPAND
groupping is defined in configuration. Mostly relevant for qemu-kvm.
- data_source.get_(text|bytes)_fileobj invocations now require writable=True
if you wish to mutate the data source. Via making the intention explicit,
consumers will get just what they need- a 3x speed up for
pquery --attr environment is from that internal optimization alone.
- pkgcore.fs.fsFile.data_source is deprecated; will be removed in the next
major version, use .data instead.
- pkgcore.interfaces.data_source moved to snakeoil.data_source.
- pkgcore.chksum moved to snakeoil.chksum. A compatibility shim was left in
for pkgcore-checks, which will be removed in 0.7 of pkgcore.
- pkgcore ticket 172; rely on snakeoil.osutils.access to paper over differing
os.access behaviours for certain broken userlands (SunOS primarily).
-----------------------------