| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
| |
This helps to minimize ResourceWarning triggered by ^C with python3.
|
| |
|
|
|
|
|
|
| |
This fixes some strange behavior triggered during fetch, which is only
observable with Python 2.6 since it doesn't have
collections.OrderedDict.
|
|
|
|
|
|
| |
This module has been obsolete and useless for many years, which is
especially obvious since it was missing INHERITED from its
auxdbkey_order and it did not write any eclass metadata.
|
| |
|
| |
|
|
|
|
|
| |
The order assumption was incorrect when new columns were added, since
they could be added in any order.
|
| |
|
| |
|
| |
|
|
|
|
| |
This error is triggered by corrupt cache entries.
|
| |
|
|
|
|
|
|
|
| |
Never return INHERITED, since portdbapi.aux_get() will generate it
automatically from _eclasses_, and we want to omit it in comparisons
between cache entries like those that egencache uses to avoid redundant
writes (see commit 0e120da008c9d0d41c9372c81145c6e153028a6d).
|
|
|
|
|
|
|
| |
This fixes volatile cache validation that did not get fixed in commit
a63c163a50bf8a4e5ca8673cd8bebae29c36643a. Now all volatile cache
problems that have been introduced since commit
2ed1cb53cc4158af08c22d466b15b9a9a7767212 should be fixed.
|
|
|
|
|
|
|
|
|
| |
The metadata_overlay usage, that was triggered automatically for users
without depcachedir write access, has been broken since commit
2ed1cb53cc4158af08c22d466b15b9a9a7767212. The metadata_overlay class
is not compatible with the new validation code, so remove it. If users
have metadata_overlay configured as their cache module, fall back to
flat_hash.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enabled via cache-format = md5-dict
This format is essentially just flat_hash, using md5 rather than mtime,
and dropping the path component from _eclasses_ entries.
From a speed standpoint, the md5 overhead is ~16% in comparison to mtime,
timed on a modern sandybridge; specifically, validating 29k nodes takes
~8.8s for flat_md5, while the pms norm is ~7.7s.
That said, the cache is /usable/ in places PMS is not; in those cases,
it can definitely be a win since even if the cache is partially old,
it's better than regenerating everything from scratch.
(cherry picked from commit 95ddf97e2f7e7d3f6a072604b2df5f77e9298558)
Change-Id: Ic3561369b7a8be7f86480f339ab1686fddea6dff
|
|
|
|
|
|
|
|
|
|
| |
Specifically, the cache can use any portage supported checksum method,
or use the standard mtime approach. In addition, support controlling
whether or not paths are stored, and generally try to restore some
of the centralization/encapsulation that was in place originally.
(cherry picked from commit bc1aed614fb588f0ade5bcb5d1265a8db0f8d247)
Change-Id: Ic38057e7dbb15063c64a93c99e66e113a7d4c70e
|
|
|
|
|
|
|
| |
Looks of it, this code was copied/mangled into action_metadata; the
noise/callbacks in use don't do anything, so drop them, the dead code,
and clean up the exception handling to reflect the new reality
(cherry picked from commit 320890fadbedf678119ac06d458ed6086075431e)
|
|
|
|
|
|
|
|
| |
This reverts commit 2a4b07c8d0105ea7418ea3afc9e777a7a396fc46.
Current python ebuilds no longer remove the encodings directory when
USE=ebuild is enabled, so now it's possible to use UTF8 encoding in
python source files without triggering unsightly SyntaxError messages
when python_mod_optimize is compiling byte-code files.
|
|
|
|
| |
Those who wanted it have decided to use a different approach.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By authorative, this means "the cache is accurate; skip validation". While
a useful hint for a slight speedup in validation, the true gain is for
repositories that are distributed in a fashion that doesn't preserve mtime;
git primarily. Setting authorative-cache = true results in portage
skipping mtime validation checks for the bundled cache, allowing
for git vcs based repos to distribute a cache.
BUG=chromium-os:21049
TEST=dump a cache into metadata/cache, touch it to now, set layout.conf
to authorative-cache=true, verify it doesn't generate cache entries
for that repo.
Change-Id: I92423e679bc171d2411a18d6d3ac22e8ef457753
|
|
|
|
| |
Special methods can't be assigned in the constructor.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The io.open() function is the same as the built-in open() function in
python3, and its implementation is optimized in python-2.7 and later.
In addition to the possible performance improvement, this also allows
us to avoid any future compatibility issues with codecs.open() that
may arise if it is delegated to the built-in open() function as
discussed in PEP 400.
The main caveat involved with io.open() is that TextIOWrapper.write()
raises TypeError if given raw bytes, unlike the streams returned from
codecs.open(). This is mainly an issue for python2 since literal
strings are raw bytes. We handle this by wrapping TextIOWrapper.write()
arguments with our _unicode_decode() function. Also, the
atomic_ofstream class overrides the write() method in python2 so that
it performs automatic coercion to unicode when necessary.
|
| |
|
| |
|
| |
|
|
|
|
| |
ENODATA is undefined on FreeBSD. This will fix bug #354057.
|
|
|
|
| |
This will fix bug #353836.
|
| |
|
|
|
|
| |
This will fix bug #53607.
|
|
|
|
| |
__import__() approach it currently uses.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
containing non-existent eclass inside metadata.database._parse_data. Thanks
to Vlastimil Babka <caster@g.o> for reporting.
svn path=/main/trunk/; revision=15412
|
|
|
|
| |
svn path=/main/trunk/; revision=15298
|
|
|
|
| |
svn path=/main/trunk/; revision=15297
|
|
|
|
| |
svn path=/main/trunk/; revision=15296
|
|
|
|
|
|
|
|
| |
iteration over entries from another nested cache instance. This can
happen if the user nests an overlay inside /usr/portage/local. Thanks
to Vlastimil Babka <caster@g.o> for this patch.
svn path=/main/trunk/; revision=15295
|
|
|
|
|
|
|
|
| |
directory depth missing.
According to docs.python.org, permissions may be not respected with os.makedirs... with some systems.
svn path=/main/trunk/; revision=15293
|
|
|
|
|
|
| |
looks like it was outdated wrt. template cache backend
svn path=/main/trunk/; revision=15291
|
|
|
|
| |
svn path=/main/trunk/; revision=15287
|