portage.git
12 years agoPipeReader: use os.read/write
Zac Medico [Fri, 2 Dec 2011 02:34:08 +0000 (18:34 -0800)]
PipeReader: use os.read/write

12 years agotest_uniqueArray.py: fix 'is' usage PyPy incompat
Zac Medico [Fri, 2 Dec 2011 02:07:21 +0000 (18:07 -0800)]
test_uniqueArray.py: fix 'is' usage PyPy incompat

12 years agoAsynchronousLock: use os.read/write
Zac Medico [Fri, 2 Dec 2011 01:43:57 +0000 (17:43 -0800)]
AsynchronousLock: use os.read/write

Similar to commit b432a1b3051d91546649e8f3190675767461d8e8, don't use
unecessary file objects. It also happens that these changes fix
compatibility issues with PyPy.

12 years agochecksum.py: detect PyPy crashes in hashlib
Zac Medico [Thu, 1 Dec 2011 23:25:31 +0000 (15:25 -0800)]
checksum.py: detect PyPy crashes in hashlib

Use a fork to try and PyPy by digesting random data with hashlib
functions. It doesn't look like a bug has been reported upstream for
this yet, so it may or may not be reproducible by others. Anyway, this
allows me to avoid crashing the main PyPy process until I find a real
fix.

12 years ago_emerge/EbuildMetadataPhase.py: use os.read()
Zac Medico [Thu, 1 Dec 2011 21:22:00 +0000 (13:22 -0800)]
_emerge/EbuildMetadataPhase.py: use os.read()

There's no need for a file object, and file objects introduce
complexity that can lead to bugs as mentioned in bug 337465 comment 31,
so use os.read() directly on the file descriptor.

12 years ago_emerge/SubProcess.py: support int fd in _files
Zac Medico [Thu, 1 Dec 2011 21:05:24 +0000 (13:05 -0800)]
_emerge/SubProcess.py: support int fd in _files

12 years agoMergeProcess: check if _elog_reader_fd is None
Zac Medico [Thu, 1 Dec 2011 20:34:52 +0000 (12:34 -0800)]
MergeProcess: check if _elog_reader_fd is None

It seems saner to check for None, given that _elog_reader_fd is an int,
even though it will probably never be zero.

12 years agolocks.py: use flock with PyPy for issue 747
Zac Medico [Thu, 1 Dec 2011 17:52:23 +0000 (09:52 -0800)]
locks.py: use flock with PyPy for issue 747

12 years agomake.conf(5): clarify "repo" and "defaults" sources for USE_ORDER
Mike Frysinger [Wed, 30 Nov 2011 20:23:36 +0000 (15:23 -0500)]
make.conf(5): clarify "repo" and "defaults" sources for USE_ORDER

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agodoebuild: disable noauto for binary packages
Zac Medico [Tue, 29 Nov 2011 16:24:06 +0000 (08:24 -0800)]
doebuild: disable noauto for binary packages

12 years agomovefile: tweak unicode handling
Zac Medico [Tue, 29 Nov 2011 04:52:41 +0000 (20:52 -0800)]
movefile: tweak unicode handling

12 years agomovefile: chown/mod before rename
Zac Medico [Tue, 29 Nov 2011 04:25:54 +0000 (20:25 -0800)]
movefile: chown/mod before rename

12 years agomovefile: avoid redundant string concatenations
Zac Medico [Tue, 29 Nov 2011 03:09:10 +0000 (19:09 -0800)]
movefile: avoid redundant string concatenations

12 years agomovefile: remove unused lchown
Zac Medico [Tue, 29 Nov 2011 03:00:15 +0000 (19:00 -0800)]
movefile: remove unused lchown

12 years agoPreserve extended attributes on regular files when using Python >=3.3.
Arfrever Frehtes Taifersar Arahesis [Tue, 29 Nov 2011 01:26:04 +0000 (02:26 +0100)]
Preserve extended attributes on regular files when using Python >=3.3.

12 years agoRevert "dblink.mergeme(): Merge files in alphabetic order." v2.2.0_alpha79
Zac Medico [Sun, 27 Nov 2011 20:53:55 +0000 (12:53 -0800)]
Revert "dblink.mergeme(): Merge files in alphabetic order."

This reverts commit 1d4ac47c28706094230cb2c4e6ee1c1c71629aa0.
As discussed on the gentoo-portage-dev mailing list, if we don't have
a compelling reason to sort here then it's just a waste:

http://archives.gentoo.org/gentoo-portage-dev/msg_67b08fcd7a1b832b347caf1b19362cbb.xml

12 years ago_get_dep_chain: fix KeyError, bug #392059
Zac Medico [Sun, 27 Nov 2011 20:52:04 +0000 (12:52 -0800)]
_get_dep_chain: fix KeyError, bug #392059

This fixes a regression since commit
57cc4e3e8991e7c4394d1dff7698aa62ed2a286b, which make a faulty
assumption that the digraph contained all of the edges contained in
parent_atoms.

12 years agoconfig: fix make.defaults inherit of make.globals v2.2.0_alpha78
Zac Medico [Sat, 26 Nov 2011 02:56:54 +0000 (18:56 -0800)]
config: fix make.defaults inherit of make.globals

Since commit e544ee13527a0568de2b556510280ed96fc1b3ff, make.defaults
inheritance of variables from make.globals has been broke, since that
commit excluded make.globals from expand_map. This broke settings like
PORTAGE_ELOG_CLASSES="${PORTAGE_ELOG_CLASSES} qa" from the developer
profile, as reported in bug #391323, comment #4.

12 years agodblink.mergeme(): Merge files in alphabetic order.
Arfrever Frehtes Taifersar Arahesis [Sat, 26 Nov 2011 01:52:49 +0000 (02:52 +0100)]
dblink.mergeme(): Merge files in alphabetic order.

12 years agoelog/mod_syslog: fix 1 char msgs, bug #390965
Zac Medico [Fri, 25 Nov 2011 19:35:32 +0000 (11:35 -0800)]
elog/mod_syslog: fix 1 char msgs, bug #390965

12 years agoemerge-webrsync: new gpg key, bug #331537
Zac Medico [Fri, 25 Nov 2011 05:28:58 +0000 (21:28 -0800)]
emerge-webrsync: new gpg key, bug #331537

12 years agorepoman: fix svn "abiguous workdir", bug #391199 v2.2.0_alpha77
Zac Medico [Mon, 21 Nov 2011 17:12:32 +0000 (09:12 -0800)]
repoman: fix svn "abiguous workdir", bug #391199

12 years agoman/emerge.1: note that --jobs redirects output
Zac Medico [Mon, 21 Nov 2011 14:59:57 +0000 (06:59 -0800)]
man/emerge.1: note that --jobs redirects output

12 years agoemerge --help: show --quiet-build
Zac Medico [Sun, 20 Nov 2011 18:54:19 +0000 (10:54 -0800)]
emerge --help: show --quiet-build

12 years ago_prepare_self_update: detect if already called v2.2.0_alpha76
Zac Medico [Fri, 18 Nov 2011 21:11:05 +0000 (13:11 -0800)]
_prepare_self_update: detect if already called

This is should never be triggered by portage, but it's possible that
an API consumer might trigger it somehow.

12 years agoSchduler: _check_temp_dir in _handle_self_update
Zac Medico [Fri, 18 Nov 2011 19:40:48 +0000 (11:40 -0800)]
Schduler: _check_temp_dir in _handle_self_update

12 years agocollect_ebuild_messages: handle \r, bug #390833
Zac Medico [Fri, 18 Nov 2011 18:20:21 +0000 (10:20 -0800)]
collect_ebuild_messages: handle \r, bug #390833

12 years agoresolver/output: unused imports
Zac Medico [Fri, 18 Nov 2011 05:57:58 +0000 (21:57 -0800)]
resolver/output: unused imports

12 years ago_make_msgfunction: convert to class
Zac Medico [Fri, 18 Nov 2011 05:33:37 +0000 (21:33 -0800)]
_make_msgfunction: convert to class

12 years agoconfig: tweak mapping implementation more
Zac Medico [Fri, 18 Nov 2011 05:15:53 +0000 (21:15 -0800)]
config: tweak mapping implementation more

12 years agoconfig: centralize mapping impl in _getitem/pop
Zac Medico [Fri, 18 Nov 2011 03:26:18 +0000 (19:26 -0800)]
config: centralize mapping impl in _getitem/pop

12 years agocollect_ebuild_messages: validate msg type
Zac Medico [Fri, 18 Nov 2011 02:55:28 +0000 (18:55 -0800)]
collect_ebuild_messages: validate msg type

This will handle invalid message types like the one that triggers the
KeyError in dblink._elog_process for bug #390833. It will also output
the content of the line in order to help diagnose the source of
corruption.

12 years agoemerge --changelog: omit entry for current ver
Zac Medico [Fri, 18 Nov 2011 01:43:20 +0000 (17:43 -0800)]
emerge --changelog: omit entry for current ver

This is a regression from commit
69d7f169ba2e27cf56746791331c63a019357100, reported in bug #390893.

12 years agodepgraph: don't merge portage asap
Zac Medico [Fri, 18 Nov 2011 01:26:01 +0000 (17:26 -0800)]
depgraph: don't merge portage asap

There's no need to do this anymore, because we don't restart since
commit d3f704a425a50b5cfa997a25866929b30f1b7d0f.

12 years agoTweak the last commit.
Zac Medico [Thu, 17 Nov 2011 23:25:03 +0000 (15:25 -0800)]
Tweak the last commit.

12 years agoSkip the "resume after portage update" routine.
Zac Medico [Thu, 17 Nov 2011 23:10:13 +0000 (15:10 -0800)]
Skip the "resume after portage update" routine.

Instead, finish the whole job using a copy of the currently running
instance. This allows us to avoid the complexities of emerge --resume,
such as the differences in option handling between different portage
versions, as reported in bug #390819.

12 years agoShow action as --action in emerge.log arg list.
Zac Medico [Thu, 17 Nov 2011 13:44:41 +0000 (05:44 -0800)]
Show action as --action in emerge.log arg list.

12 years agoShow option arguments in emerge.log arg list.
Zac Medico [Thu, 17 Nov 2011 13:39:02 +0000 (05:39 -0800)]
Show option arguments in emerge.log arg list.

12 years agopkg_pretend: handle interruption more v2.2.0_alpha75
Zac Medico [Thu, 17 Nov 2011 05:15:00 +0000 (21:15 -0800)]
pkg_pretend: handle interruption more

12 years agopkg_pretend: tweak final cleanup logic
Zac Medico [Thu, 17 Nov 2011 03:43:00 +0000 (19:43 -0800)]
pkg_pretend: tweak final cleanup logic

This ensures that the clean phase will not run if the user interrupts
emerge before the build dir is locked.

12 years agoScheduler.py: remove unused vars (pyflakes)
Zac Medico [Thu, 17 Nov 2011 02:09:10 +0000 (18:09 -0800)]
Scheduler.py: remove unused vars (pyflakes)

12 years agoTweak emerge --quiet-build default handling.
Zac Medico [Thu, 17 Nov 2011 01:38:48 +0000 (17:38 -0800)]
Tweak emerge --quiet-build default handling.

Since --quiet-build is enabled be default, there's no need to have it
in the options dict except when it is enabled.

12 years agopkg_pretend: lock before unpacking binpkg xpak
Zac Medico [Thu, 17 Nov 2011 01:25:21 +0000 (17:25 -0800)]
pkg_pretend: lock before unpacking binpkg xpak

This fixes a regression from the previous commit.

12 years agopkg_pretend: clean first for bug #390711
Zac Medico [Wed, 16 Nov 2011 21:14:42 +0000 (13:14 -0800)]
pkg_pretend: clean first for bug #390711

12 years agoemerge --quiet-build: don't set PORTAGE_QUIET
Zac Medico [Wed, 16 Nov 2011 18:43:51 +0000 (10:43 -0800)]
emerge --quiet-build: don't set PORTAGE_QUIET

The PORTAGE_QUIET controls lots of stuff that really should only be
controlled by --quiet, especially now that --quiet-build is enabled by
default. For example, PORTAGE_QUIET supresses the successful checksum
display that is produced by emerge --fetchonly.

12 years agoxterm title HOSTNAME support, bug #390699
Zac Medico [Wed, 16 Nov 2011 18:24:34 +0000 (10:24 -0800)]
xterm title HOSTNAME support, bug #390699

12 years agochecksum.py: handle pycrypto breakage
Zac Medico [Sun, 13 Nov 2011 20:33:43 +0000 (12:33 -0800)]
checksum.py: handle pycrypto breakage

12 years agomake.conf: sync PORTAGE_ELOG_SYSTEM example
Zac Medico [Fri, 11 Nov 2011 21:23:46 +0000 (13:23 -0800)]
make.conf: sync PORTAGE_ELOG_SYSTEM example

Synchronize the PORTAGE_ELOG_SYSTEM example with the default
make.globals setting.

12 years agoEnable emerge --quiet-build by default. v2.2.0_alpha74
Zac Medico [Fri, 11 Nov 2011 15:42:11 +0000 (07:42 -0800)]
Enable emerge --quiet-build by default.

See discussion on the gentoo-dev mailing list:

http://archives.gentoo.org/gentoo-dev/msg_4f0401066abe2dc04458a952ac2a17bd.xml

12 years agoMove ccache/distcc PATH code to doebuild_env. v2.2.0_alpha73
Zac Medico [Thu, 10 Nov 2011 03:11:35 +0000 (19:11 -0800)]
Move ccache/distcc PATH code to doebuild_env.

12 years agoUse local EPREFIX for uniformity.
Zac Medico [Wed, 9 Nov 2011 18:48:36 +0000 (10:48 -0800)]
Use local EPREFIX for uniformity.

The EPREFIX variable is not readonly in EAPI 0, 1, and 2, so we can
declare EPREFIX as a local variable. We must be careful not to let this
variable leak into the environment of ebuild/eclass functions that we
call, since bash propagates local variables to nested function calls.

12 years agoUse local ED for uniformity.
Zac Medico [Wed, 9 Nov 2011 18:42:00 +0000 (10:42 -0800)]
Use local ED for uniformity.

The ED variable is not readonly in EAPI 0, 1, and 2, so we can declare
ED as a local variable. We must be careful not to let this variable
leak into the environment of ebuild/eclass functions that we call,
since bash propagates local variables to nested function calls.

12 years agoUse get(REQUIRED_USE) for emphasis.
Zac Medico [Wed, 9 Nov 2011 18:13:17 +0000 (10:13 -0800)]
Use get(REQUIRED_USE) for emphasis.

None of these cases should raise KeyError, but use get(REQUIRED_USE)
anyway to emphasize that care must be taken.

12 years agodepgraph: fix possible REQUIRED_USE KeyError
Zac Medico [Wed, 9 Nov 2011 03:23:22 +0000 (19:23 -0800)]
depgraph: fix possible REQUIRED_USE KeyError

This goes with commit a0961708ced50c90497811058eda6f4513d2986d.

12 years ago_doebuild_path: fix EAPI 3 helpers PATH
Zac Medico [Wed, 9 Nov 2011 02:41:16 +0000 (18:41 -0800)]
_doebuild_path: fix EAPI 3 helpers PATH

12 years agophase-functions.sh: remove stray echo
Zac Medico [Wed, 9 Nov 2011 02:36:24 +0000 (18:36 -0800)]
phase-functions.sh: remove stray echo

12 years agoInclude EPREFIX directories in PATH.
Zac Medico [Wed, 9 Nov 2011 00:21:07 +0000 (16:21 -0800)]
Include EPREFIX directories in PATH.

This relocates the PATH generation code from ebuild.sh to
doebuild_environment, which helps to eliminate duplicate code.

12 years agohas/best_version: fix grammar in docs
Zac Medico [Tue, 8 Nov 2011 19:28:02 +0000 (11:28 -0800)]
has/best_version: fix grammar in docs

12 years agoecompressdir: remove 'continue' from loop logic
Zac Medico [Tue, 8 Nov 2011 19:24:35 +0000 (11:24 -0800)]
ecompressdir: remove 'continue' from loop logic

Hopefully this helps us avoid errors in loop logic like bug #389047.

12 years agotests/emerge: best/has_version with prefix EAPI
Zac Medico [Tue, 8 Nov 2011 16:13:32 +0000 (08:13 -0800)]
tests/emerge: best/has_version with prefix EAPI

12 years agotest_multislot: fix EAPI
Zac Medico [Mon, 7 Nov 2011 21:38:33 +0000 (13:38 -0800)]
test_multislot: fix EAPI

12 years agodepgraph._queue_disjunctive_deps(): Pass EAPI to portage.dep.Atom().
Arfrever Frehtes Taifersar Arahesis [Mon, 7 Nov 2011 21:14:39 +0000 (22:14 +0100)]
depgraph._queue_disjunctive_deps(): Pass EAPI to portage.dep.Atom().

12 years agobest/has_version: fix eroot assignment
Zac Medico [Mon, 7 Nov 2011 20:42:28 +0000 (12:42 -0800)]
best/has_version: fix eroot assignment

12 years agoOnly support ROOT override for best/has_version.
Zac Medico [Mon, 7 Nov 2011 20:19:53 +0000 (12:19 -0800)]
Only support ROOT override for best/has_version.

In the context of ebuilds, ROOT=/ override is the only common case, so
it makes sense to only support ROOT overrides.

12 years agoAllow repository dependencies in command line arguments for --config and --info actions.
Arfrever Frehtes Taifersar Arahesis [Mon, 7 Nov 2011 20:11:31 +0000 (21:11 +0100)]
Allow repository dependencies in command line arguments for --config and --info actions.

12 years agoFix best/has_version ROOT override for EAPI 3-4.
Zac Medico [Mon, 7 Nov 2011 19:16:09 +0000 (11:16 -0800)]
Fix best/has_version ROOT override for EAPI 3-4.

This has been broken since commit
ab484dc9a2612aa6709fad3ff926c8589a706637. In order to support prefix,
callers will have to override EROOT instead.

12 years agoFix breakage from last commit.
Zac Medico [Mon, 7 Nov 2011 18:33:47 +0000 (10:33 -0800)]
Fix breakage from last commit.

12 years agoAvoid initial spaces in some variables.
Arfrever Frehtes Taifersar Arahesis [Mon, 7 Nov 2011 18:28:05 +0000 (19:28 +0100)]
Avoid initial spaces in some variables.

12 years agoREQUIRED_USE: don't save in built packages
Zac Medico [Mon, 7 Nov 2011 15:27:23 +0000 (07:27 -0800)]
REQUIRED_USE: don't save in built packages

It should be safe to assume that REQUIRED_USE is satisfied if the
package is built, so it's a waste to save it. Also, fix code which
assumes that built Package instances have a REQUIRED_USE key in their
metadata.

12 years agoenvironment.bz2: filter more variables
Zac Medico [Mon, 7 Nov 2011 08:45:01 +0000 (00:45 -0800)]
environment.bz2: filter more variables

12 years agosave_ebuild_env: filter more functions
Zac Medico [Mon, 7 Nov 2011 08:32:18 +0000 (00:32 -0800)]
save_ebuild_env: filter more functions

dyn_pretend
helpers_die
nonfatal
register_success_hook

12 years agoHandle empty PORTAGE_COMPRESS for bug #389047.
Zac Medico [Mon, 7 Nov 2011 08:14:29 +0000 (00:14 -0800)]
Handle empty PORTAGE_COMPRESS for bug #389047.

This fixes a case where empty PORTAGE_COMPRESS made ecompressdir forget
to call restore_skip_dirs, such that docompress -x resulted in files
not being installed due to hide_skip_dirs hiding them permanently.

12 years agoemerge --changelog: ChangeLog-YYYY, bug #389611
Zac Medico [Mon, 7 Nov 2011 07:37:33 +0000 (23:37 -0800)]
emerge --changelog: ChangeLog-YYYY, bug #389611

12 years agoRespect --usepkgonly in suggestions, bug #389617
Zac Medico [Mon, 7 Nov 2011 06:32:30 +0000 (22:32 -0800)]
Respect --usepkgonly in suggestions, bug #389617

12 years agoAdd emerge --moo action for bug #389609.
Zac Medico [Mon, 7 Nov 2011 06:01:51 +0000 (22:01 -0800)]
Add emerge --moo action for bug #389609.

12 years agoruntests.sh: use 0 to control arg parse loop
Zac Medico [Sun, 6 Nov 2011 05:43:34 +0000 (22:43 -0700)]
runtests.sh: use 0 to control arg parse loop

12 years agoEnable colors during the depend phase.
Zac Medico [Sat, 5 Nov 2011 18:53:20 +0000 (11:53 -0700)]
Enable colors during the depend phase.

12 years agophase-helpers.sh: fix best/has_version for prefix
Zac Medico [Wed, 2 Nov 2011 04:57:10 +0000 (21:57 -0700)]
phase-helpers.sh: fix best/has_version for prefix

12 years agotest_dodir: fix breakage from last commit
Zac Medico [Wed, 2 Nov 2011 02:26:56 +0000 (19:26 -0700)]
test_dodir: fix breakage from last commit

We have to set the EAPI for prefix code to work.

12 years agoAdd EPREFIX and ED support in all ebuild helpers.
Zac Medico [Wed, 2 Nov 2011 02:17:19 +0000 (19:17 -0700)]
Add EPREFIX and ED support in all ebuild helpers.

This allows our prefix tests to use helpers like insinto, doins, and dosym.

12 years agoMerge install_qa_check_prefix from prefix branch.
Zac Medico [Wed, 2 Nov 2011 01:47:56 +0000 (18:47 -0700)]
Merge install_qa_check_prefix from prefix branch.

12 years ago_profile_node: use collections.namedtuple v2.2.0_alpha72
Zac Medico [Sun, 30 Oct 2011 07:15:57 +0000 (00:15 -0700)]
_profile_node: use collections.namedtuple

12 years agonews.py: remove unused 'updates' variable
Zac Medico [Sun, 30 Oct 2011 07:08:22 +0000 (00:08 -0700)]
news.py: remove unused 'updates' variable

12 years ago_legacy_globals: fix grammar in comment
Zac Medico [Sun, 30 Oct 2011 06:52:42 +0000 (23:52 -0700)]
_legacy_globals: fix grammar in comment

12 years agoFix typos in comments.
Arfrever Frehtes Taifersar Arahesis [Sun, 30 Oct 2011 06:40:52 +0000 (07:40 +0100)]
Fix typos in comments.

12 years agogit_sync_timestamps: validation_chf == mtime
Zac Medico [Sun, 30 Oct 2011 06:20:53 +0000 (23:20 -0700)]
git_sync_timestamps: validation_chf == mtime

12 years agoegencache: tweak redundant write check condition
Zac Medico [Sun, 30 Oct 2011 05:24:58 +0000 (22:24 -0700)]
egencache: tweak redundant write check condition

We can use the raise_stat_collision attribute to determine when it is
necessary to check for redundant writes.

12 years agoenv_update: lstrip os.sep in join with eprefix
Zac Medico [Sun, 30 Oct 2011 00:25:42 +0000 (17:25 -0700)]
env_update: lstrip os.sep in join with eprefix

12 years agoportagetree: remove broken depcheck method
Zac Medico [Sat, 29 Oct 2011 23:52:06 +0000 (16:52 -0700)]
portagetree: remove broken depcheck method

It called dep_check without the required third argument.

12 years agoUse dbapi._known_keys more.
Zac Medico [Sat, 29 Oct 2011 23:43:21 +0000 (16:43 -0700)]
Use dbapi._known_keys more.

12 years agocache/template.__getitem__: filter INHERITED
Zac Medico [Sat, 29 Oct 2011 23:10:13 +0000 (16:10 -0700)]
cache/template.__getitem__: filter INHERITED

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).

12 years agoaction_metadata: clean up src entry validation
Zac Medico [Sat, 29 Oct 2011 22:43:35 +0000 (15:43 -0700)]
action_metadata: clean up src entry validation

This eliminates a bunch of redundant eclasses code that we handle with
template.validate_entry() instead.

12 years agoEbuildMetadataPhase: use /dev/null for stdin
Zac Medico [Sat, 29 Oct 2011 21:41:38 +0000 (14:41 -0700)]
EbuildMetadataPhase: use /dev/null for stdin

12 years agoactions.py: remove unused variables
Zac Medico [Sat, 29 Oct 2011 21:31:00 +0000 (14:31 -0700)]
actions.py: remove unused variables

12 years agoaction_metadata: use auxdbkeys to compare entries
Zac Medico [Sat, 29 Oct 2011 20:55:07 +0000 (13:55 -0700)]
action_metadata: use auxdbkeys to compare entries

This borrows the approach that egencache uses since commit
0e120da008c9d0d41c9372c81145c6e153028a6d.

12 years agoegencache: avoid redundant md5-dict writes
Zac Medico [Sat, 29 Oct 2011 20:36:23 +0000 (13:36 -0700)]
egencache: avoid redundant md5-dict writes

The pms cache already does this automatically, since __setitem__ calls
are used to detect stat collisions in order to solve bug #139134.

12 years agoegencache: ensure correct porttrees
Zac Medico [Sat, 29 Oct 2011 19:38:51 +0000 (12:38 -0700)]
egencache: ensure correct porttrees

The GenCache class assumes that portdb.porttrees[0] is the desired
tree, so assert that it is true. The behavior should have already been
correct, since PORTDIR_OVERLAY was already set to an empty string when
necessary.

12 years agoegencache: fix StatCollision handling breakage
Zac Medico [Sat, 29 Oct 2011 18:56:14 +0000 (11:56 -0700)]
egencache: fix StatCollision handling breakage

This has been broken since the _eclasses_ structure changed in commit
2ed1cb53cc4158af08c22d466b15b9a9a7767212.

12 years agoegencache: update ebuild_hash.mtime after utime
Zac Medico [Sat, 29 Oct 2011 18:33:27 +0000 (11:33 -0700)]
egencache: update ebuild_hash.mtime after utime

12 years agoemerge --metadata: support md5-dict
Zac Medico [Sat, 29 Oct 2011 17:48:30 +0000 (10:48 -0700)]
emerge --metadata: support md5-dict

This adds support to action_metadata() for use of arbitrary validation
methods, which were introduced in commit
2ed1cb53cc4158af08c22d466b15b9a9a7767212.