Pkgcore

Latest version: v0.12.28

Safety actively analyzes 682361 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 12 of 27

0.8.1

--------------------------

- Pkgcore now requires snakeoil 0.5.1.

- The cache format 'md5-cache' is now supported (this is what gentoo-x86
switched to, and what chromeos uses).

- core environment saving functionality was sped up by ~10x. Basically
every package will see a gain; simple ones like bsdiff, on my hardware
went from ~5.2s to 1.5s; diffball from ~12.4 to ~9.2; hell, even
git (with binpkgs turned off) dropped from 28.5s to 21.1s.
This improves both --attr environment, and general functionality;
regen however shouldn't be any faster (already avoided these pathways).

- filter-env gained a --print-funcs option. Additionally, the underlying
core has been enhanced so that analysis within a function block is
possible.

- pquery --attr environment now can work for raw ebuilds, rather than
just built ebuilds.

- pquery --no-filter was added; this gives you the configured
(USE rendered) view of a package, just without any visibility
or license filtering applied.

- Errant newlines in pquery --attr \*depends -v output were removed.

- pquery --repo gentoo no longer implies/forces --raw. Same goes
for all other places that take repo arguments.
Now, pquery --repo <some-repo> must be within the specified domain
unless --raw is forced.

- All pkgcore internal functions now are prefixed with __; ebuilds
and eclasses should never touch them.

- For performance debugging of EBD, PKGCORE_PERF_DEBUG=1 was added.

- Defined phases is now trusted in full, and used to control exactly
what phases are actually ran. This in conjunction w/ some relaxation
of a few protections (namely, if pkgcore just generated the env dump,
and we know it's from our version/machinery, then we can directly
source that dump rather than doing protective scrubbing). End result
is that for build -> binpkg -> install, for example bsdiff went from
4.9s to 2.1s; diffball went from ~12.5s to ~9.8s. Gain primarily
is for either huge environments, or small pkgs.

- Minor round of metadata regen optimization; 18-20% faster now.

- Heavy environment cleanup; pkgcore now generally doesn't expose
any real functionality to ebuilds/eclasses that could be accidentally
relied upon (all of it is prefixed with pkgcore\_, making it obvious
they shouldn't be using it).

- Fix issue 31; empty GENTOO_MIRRORS breaks portage conf support.


------------------------

0.8

------------------------

- Fix fetch support broken by gentoo's recent enabling of whirlpool
checksum.

- Python 2.4 support was dropped.

- Fix a longstanding potential bug in spawn's fd reassignment;
if fed {2:3, 3:2, 4:6}, dependent on python dict ordering, it
was possible for it to inadvertantly stomp fd 4 during the
final reassignment. Haven't seen any signs it's occurred in the
wild, but the potential is there, thus fixed.

- Gentoo's unpacker eclass is sensitive to the return code of
assert; this is outside of pms rules, but we've matched portage
behaviour to keep things working

- Fixed pinspect portageq envvar support.

- Added `pconfig world` for world file manipulation.

- Heavy doc fixups, including fixing the man pages to actually be
readable. New man page for pmerge added.

- Fix py3k incompatibility in pmerge -N .

- prefix branch was merged. This fleshes out the majority of prefix
support; extended-versions currently aren't supported however.

- pkgcore now forces parallelization for tbz2 generation if pbzip2
is installed.

- Python stdlib's BZ2File doesn't handle multiple streams in a bz2
file correctly- we work around this via always forcing bzip2 -dc
unless the python version is 3.3 or later.


----------------------------

0.7.7.8

----------------------------

- pkgcore's merger now will preserve any hardlinks specified in the
merge set. Merges straight from binpkgs don't currently preserve
hardlinks.

- added hardlink awareness to splitdebug and stripping. For pkgs
that install hardlinks (git for example), this fixes double stripping
and complaints output during merging for trying to splitdebug it.
Bit faster in addition since for git, it cuts the splitdebug down
from 110 to 7 or so.

- Fix incompatibilities in pinspect portageq api that eselect uses.
Eselect will be updated to use better api's moving forward, but
till then restore support.

- pinspect portageq and pinspect query envvar now return space delimited
string values if the queried value was a list.

- Fix bug where use dep forced changes to use state weren't honored
at the build level.

- Fix fairly serious bug where immutable use flags (arch for example),
wasn't being enforced for pkg dependency calculations.


----------------------------

0.7.7.7

----------------------------

- pkgcore resolver now understand weak blockers. This fixes a long
standing issue where portage/paludis would allow a transaction that
pkgcore would refuse (at the time of pkgcore's creation, weak/strong
didn't exist- just strong).

- work around eselect incompatibility for root not always being specified
to `pinspect portageq get_repositories`.

- Better error reporting for mistakes in incremental vars in configuration.


----------------------------

0.7.7.6

----------------------------

- fix bug where REQUIRED_USE wasn't being stored during metadata
regeneration. Thanks to marienz for reporting it.

- FEATURES=compressdebug support was added. This enables splitdebug
to compress the generate debug files; this can easily reduce the footprint
from 20GB to ~8GB on an average system.

- no longer complain about incorrect profiles/categories files. PMS,
and people who hate QA suck.


----------------------------

0.7.7.5

----------------------------

- pkgcore no longer requires a manifest to exist if the repository uses
thin-manifests, and there are no distfiles for a pkg.

- removed support for FEATURES=allow-missing-checksums. Use repository
metadata/layout.conf use-manifest setting instead.

- complain about incorrect profiles/categories files.

- fix bug in masters handling where eclass lookup order was reversed.

- pinspect subcommand digests was added; this is used for scanning for
broken manifest/digests in a repository.

- PORTAGE_LOGDIR is supported again.

- pkgcore no longer intermixes python/bash output incorrectly when stdout
or stderr or the same fd: pmerge -Du system &> log for example.

- issue 7; add framework for parallelized trigger execution. Currently
only splitdebug/stripping uses it, but it has a sizable gain for pkgs
with many binaries.

- pmaint regen --disable-eclass-preloading is now
pmaint regen --disable-eclass-caching.

- ctrl-c'ing pmaint regen hang bug is now fixed.

- fix a bug in pmaint regen and friends where if the requested repository
isn't found, the last examined is used. Additionally, restore ability
to specify a repository by location.

- all operation api's now are chained exceptions deriving from
pkgcore.operations.OperationError; for CLI users, this means we
display a traceback far less often now.

- pkgcore configuration subsystem now uses chained exceptions. In
accessing it, you'll get a ConfigurationError exception (or derivative)
for any config data errors, or the appropriate exception if you use the
subsystem incorrectly. In the process, reporting on errors to the commandline
is now augmented.


----------------------------

Page 12 of 27

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.