Merged from trunk -r13688:13690
authorFabian Groffen <grobian@gentoo.org>
Sat, 27 Jun 2009 14:44:56 +0000 (14:44 -0000)
committerFabian Groffen <grobian@gentoo.org>
Sat, 27 Jun 2009 14:44:56 +0000 (14:44 -0000)
   | 13689   | Split out a depgraph._iter_match_pkgs() method from          |
   | zmedico | _select_pkg_highest_available_imp().                         |

   | 13690   | Add/update copyright headers.                                |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=13715

81 files changed:
pym/_emerge/AbstractDepPriority.py
pym/_emerge/AbstractPollTask.py
pym/_emerge/AsynchronousTask.py
pym/_emerge/AtomArg.py
pym/_emerge/Binpkg.py
pym/_emerge/BinpkgExtractorAsync.py
pym/_emerge/BinpkgFetcher.py
pym/_emerge/BinpkgPrefetcher.py
pym/_emerge/BinpkgVerifier.py
pym/_emerge/Blocker.py
pym/_emerge/BlockerCache.py
pym/_emerge/BlockerDB.py
pym/_emerge/BlockerDepPriority.py
pym/_emerge/CompositeTask.py
pym/_emerge/DepPriority.py
pym/_emerge/DepPriorityNormalRange.py
pym/_emerge/DepPrioritySatisfiedRange.py
pym/_emerge/Dependency.py
pym/_emerge/DependencyArg.py
pym/_emerge/EbuildBinpkg.py
pym/_emerge/EbuildBuild.py
pym/_emerge/EbuildBuildDir.py
pym/_emerge/EbuildExecuter.py
pym/_emerge/EbuildFetcher.py
pym/_emerge/EbuildFetchonly.py
pym/_emerge/EbuildMerge.py
pym/_emerge/EbuildMetadataPhase.py
pym/_emerge/EbuildPhase.py
pym/_emerge/EbuildProcess.py
pym/_emerge/FakeVartree.py
pym/_emerge/JobStatusDisplay.py
pym/_emerge/MergeListItem.py
pym/_emerge/MetadataRegen.py
pym/_emerge/MiscFunctionsProcess.py
pym/_emerge/Package.py
pym/_emerge/PackageArg.py
pym/_emerge/PackageCounters.py
pym/_emerge/PackageMerge.py
pym/_emerge/PackageUninstall.py
pym/_emerge/PackageVirtualDbapi.py
pym/_emerge/PipeReader.py
pym/_emerge/PollConstants.py
pym/_emerge/PollScheduler.py
pym/_emerge/PollSelectAdapter.py
pym/_emerge/ProgressHandler.py
pym/_emerge/QueueScheduler.py
pym/_emerge/RepoDisplay.py
pym/_emerge/RootConfig.py
pym/_emerge/Scheduler.py
pym/_emerge/SequentialTaskQueue.py
pym/_emerge/SetArg.py
pym/_emerge/SlotObject.py
pym/_emerge/SpawnProcess.py
pym/_emerge/SubProcess.py
pym/_emerge/Task.py
pym/_emerge/TaskScheduler.py
pym/_emerge/TaskSequence.py
pym/_emerge/UninstallFailure.py
pym/_emerge/UnmergeDepPriority.py
pym/_emerge/UseFlagDisplay.py
pym/_emerge/__init__.py
pym/_emerge/_find_deep_system_runtime_deps.py
pym/_emerge/_flush_elog_mod_echo.py
pym/_emerge/actions.py
pym/_emerge/changelog.py
pym/_emerge/clear_caches.py
pym/_emerge/countdown.py
pym/_emerge/create_depgraph_params.py
pym/_emerge/create_world_atom.py
pym/_emerge/depgraph.py
pym/_emerge/emergelog.py
pym/_emerge/format_size.py
pym/_emerge/getloadavg.py
pym/_emerge/help.py
pym/_emerge/is_valid_package_atom.py
pym/_emerge/search.py
pym/_emerge/show_invalid_depstring_notice.py
pym/_emerge/stdout_spinner.py
pym/_emerge/unmerge.py
pym/_emerge/userquery.py
pym/_emerge/visible.py

index 840054d029a4c3f9d08e398d9cfb66a64965f4b6..53d6a8a09f06468201ad63de72f5b6d9ab80cc8b 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.SlotObject import SlotObject
 class AbstractDepPriority(SlotObject):
        __slots__ = ("buildtime", "runtime", "runtime_post")
index 4262b0b344408fe5657831a254e9d06e427dd8c6..491e803c2f7acccfc591671af3cf090724bef7d0 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.AsynchronousTask import AsynchronousTask
 from _emerge.PollConstants import PollConstants
 class AbstractPollTask(AsynchronousTask):
index 089e1acfcb14b7a458ceecd7bfd76a4585c7a2ba..dace8b15424c74c61a0f01b9afbec760580d8a47 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.SlotObject import SlotObject
 class AsynchronousTask(SlotObject):
        """
index 938204692e1ed915690156d102bffc4971600f04..6178be2665eaf7ae9ff617ce49e4a860f08ac8dd 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.DependencyArg import DependencyArg
 
 # for an explanation on this logic, see pym/_emerge/__init__.py
index 7307b059614540d2d84630a4f67c4b9b7ff189f0..4e710fe7548155ff4017f6dc275f557a3e728b93 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.EbuildPhase import EbuildPhase
 from _emerge.BinpkgFetcher import BinpkgFetcher
 from _emerge.BinpkgExtractorAsync import BinpkgExtractorAsync
index 427dd8d14c0a1e2cdf5fd11fb722f77bfd5fffce..e22fcf65d3b999c9ab8452156d6f789ef7e854f9 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.SpawnProcess import SpawnProcess
 # for an explanation on this logic, see pym/_emerge/__init__.py
 import os
index 8002d7b9abbed6d0c61f144045215b8058ebf67d..47c114dad662df3397f12749e75725f4142a9c84 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.SpawnProcess import SpawnProcess
 import urlparse
 import sys
index b275cc88f90f96208fe3af7c29a55cba80bac270..a1e63fd32c8603b222da97012da149b028bd6ccd 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.BinpkgFetcher import BinpkgFetcher
 from _emerge.CompositeTask import CompositeTask
 from _emerge.BinpkgVerifier import BinpkgVerifier
index b56ee4dc0e92fecab888ae74a0977cd70fd8a623..56190a60bbfe98febe85d03d8509c506cd7d1fcf 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.AsynchronousTask import AsynchronousTask
 from portage.util import writemsg
 import sys
index ec24d57cf14521ce80f3393e9f4b17f25002ff4a..ea93d6b8a43b813a625466a7248caebc64ad1600 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.Task import Task
 # for an explanation on this logic, see pym/_emerge/__init__.py
 import os
index 3936b12457681900ba04f8fc9fc35d235dd46da3..c13143bb2e620a83beb7ae83a3b223ab2db0a42c 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from portage.util import writemsg
 from portage.data import secpass
 # for an explanation on this logic, see pym/_emerge/__init__.py
index f27b3301bd27faa96d6a6684a615a9eb55c04c93..56b606a749767b5a371a9980c4708dc5ce6a40db 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 # for an explanation on this logic, see pym/_emerge/__init__.py
 import os
 import sys
index 8bc249b755f40eff90c1bcdf68cb987ae45064b0..626013c18b604d6cda76dc8cc69c648f77947a7b 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.DepPriority import DepPriority
 class BlockerDepPriority(DepPriority):
        __slots__ = ()
index 92a441bab4e1cbe8624d9894c02ed6222098556c..25de4dcf3cd0034361cce639a04f70666528b8c1 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.AsynchronousTask import AsynchronousTask
 import os
 class CompositeTask(AsynchronousTask):
index d094cd0436385a46548851f892832993d09f1fae..6ea704337381d3a7e79d890a9bf568073cd1ddc8 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.AbstractDepPriority import AbstractDepPriority
 class DepPriority(AbstractDepPriority):
 
index ab276b42b044997c5849c29acf563a614a50c247..d9176487b6ea7765277506ef28b8153df50a58d2 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.DepPriority import DepPriority
 class DepPriorityNormalRange(object):
        """
index bb41780c838a5b015985f7b46c7dda1fa921081d..e2417b52952560a8b3061f073a707244876df8cb 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.DepPriority import DepPriority
 class DepPrioritySatisfiedRange(object):
        """
index 6d6b23be54915be0fc85f9cdb422ad0321accce2..6f52744c0752184ce5a8e9026fd346a3c5bd67f8 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.DepPriority import DepPriority
 from _emerge.SlotObject import SlotObject
 class Dependency(SlotObject):
index 1ba03bbc62ac1acb53d39447b376134b3786a79c..f3b0d0f7f8944d649b655d75f777595a4fa63c04 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 class DependencyArg(object):
        def __init__(self, arg=None, root_config=None):
                self.arg = arg
index 3522184fea0eb26ccf2dfbea2cca2b6e4f869b00..4f5159d78895fc89d781220fe568824bdefbaa7a 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.EbuildProcess import EbuildProcess
 import os
 class EbuildBinpkg(EbuildProcess):
index 1ac270394be13526bfc61adc7b8c5a2cc0d15063..effa5fcfe68516f0e7e350c5aeed4e521389c95d 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.EbuildExecuter import EbuildExecuter
 from _emerge.EbuildPhase import EbuildPhase
 from _emerge.EbuildBinpkg import EbuildBinpkg
index 3e76a47c0f37fe6a37141cdf7fe440bdc91cf1c6..abef92e7bd0421762e78c1e6df978f499a2d563a 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.SlotObject import SlotObject
 # for an explanation on this logic, see pym/_emerge/__init__.py
 import os
index 7845828ac2c0c10833d0c4f164791168b58a14e3..bf05dc3b66753cf06c858246f4e70842499c94e7 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.EbuildPhase import EbuildPhase
 from _emerge.TaskSequence import TaskSequence
 from _emerge.CompositeTask import CompositeTask
index 86a717af99c27b0b73f296c4515d4686da557cb1..b17484565e8a19e3654f26eee17df379fd5bd6c7 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.SpawnProcess import SpawnProcess
 from _emerge.EbuildBuildDir import EbuildBuildDir
 # for an explanation on this logic, see pym/_emerge/__init__.py
index 818b842e2c01d8e3ef7d1c689b91d718fe85837b..e89d30fae5f887f95ad5164771e95b811c2ac7a4 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.SlotObject import SlotObject
 import shutil
 # for an explanation on this logic, see pym/_emerge/__init__.py
index e69bcef6a07c5ef6ae3eb895d5549fe4950bd436..b0776ed7611028096b582d313ee6fb7a2091c9a7 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.SlotObject import SlotObject
 # for an explanation on this logic, see pym/_emerge/__init__.py
 import os
index 7f99ebc458a5578d6c175483df5cda4b375c9e7e..46db6a0f3648601a904e928bf827b417f17474cb 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.SubProcess import SubProcess
 from _emerge.PollConstants import PollConstants
 import sys
index 2d76992e4f23b945ee1a9a08e4f6043186ff84ee..d88f9e77ab8201285ef2ba28827175d02c99c8a3 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.MiscFunctionsProcess import MiscFunctionsProcess
 from _emerge.EbuildProcess import EbuildProcess
 from _emerge.CompositeTask import CompositeTask
index b3b3dabfdcf05832a6c3662f038c4c07da182783..d6d7a5d783a07f046affc1f8c4be06256fa4ed84 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.SpawnProcess import SpawnProcess
 # for an explanation on this logic, see pym/_emerge/__init__.py
 import os
index 922f538265cbbdce9967b14e9474f11ac55581a4..2425f13034353c9949bee67b92a61d153b09f531 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 import os
 from itertools import izip
 
index 5c9517850e70612b6729b05c136c505e4b57d395..35dac62fb7b92048024394d92c9826cbd1f54bd0 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 import formatter
 import os
 import sys
index 9238a7a370ecce97f14185308b0ee5b0907036a1..aab79da089964c6d76b43b65cfc6761fb07ef68e 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 import os
 
 from portage.output import colorize
index 479a66febdbe8a6ba71b6bc7dbeda78cf5493d4d..f3be52f8770abe7dd3392faf1c8c8720c7afba92 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 # for an explanation on this logic, see pym/_emerge/__init__.py
 import os
 import sys
index 36b287cefe91349d4545f9c635e798ae07768703..305bbab77a823790c272b94ba0eee1149e43a46e 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.SpawnProcess import SpawnProcess
 # for an explanation on this logic, see pym/_emerge/__init__.py
 import os
index e1283bbf4e4233774c8dbfaaf4371c71735c58fb..c5dcd30e2c00fd97128e2288e084cb7a7483c90f 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 import re
 from itertools import chain
 
index 178ea87ae8cdc8d69be04c59f208a508f556fa9f..29fbf44c5bdea13697892748a2d8d9b7cebd4288 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.DependencyArg import DependencyArg
 # for an explanation on this logic, see pym/_emerge/__init__.py
 import os
index 91757f004e0e737b0e9064efdee1b1334ebb8bfd..9da79d38994b9dd1ff94b2ff78e41008cc7e3c41 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from portage.output import colorize, create_color_func
 bad = create_color_func("BAD")
 
index 5fcde1e98ce0ef2ccc061b38cadf682835eb149b..67553ddf89208f8bd706d2c16269aa19d94fcb95 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.AsynchronousTask import AsynchronousTask
 from portage.output import colorize
 class PackageMerge(AsynchronousTask):
index 74898ade139e47a3be255fd4dad5d7bd232fccef..dee26d2f30d5bc0b3fdb284e24ffc613ccc08e03 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 import logging
 # for an explanation on this logic, see pym/_emerge/__init__.py
 import os
index 3967cc726e72e0e554f4169a9f88deabc9e1a7c9..6049830c491b4acbad665e830a045f00c01cb34c 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 # for an explanation on this logic, see pym/_emerge/__init__.py
 import os
 import sys
index 4b2e2f14107adc21d982e0588596db94c48fa36b..d3cc18425df2d6ded35aceb516a469f71b1fd130 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.AbstractPollTask import AbstractPollTask
 from _emerge.PollConstants import PollConstants
 import sys
index 13b5f21df47d0ec5e46f59ccee239a09bfb559eb..0ec8abbe9aaf208c2b6b1fa3d7e913fe924de246 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 import select
 class PollConstants(object):
 
index 3a23877f9cf381de82bae028c679fa6c905f6c00..3733af45be416a328819931e64270b1e7766bc34 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 import logging
 import select
 
index d3b9da990ce7d4ec64293746c9c40dd6a7ccdacd..64f17094e3ec5b30c3f35672c2daf70489e91b08 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.PollConstants import PollConstants
 import select
 class PollSelectAdapter(PollConstants):
index 0b0b77532d98df5722693aefca420bf3eb327997..08ba2c01dcb94ed47d1a50ddf372e6f285b826ca 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 import time
 class ProgressHandler(object):
        def __init__(self):
index f88c13caa11dfedb95319cc833cebf0c6e244956..27893e39b6e2a499ce84e97db0894b477359eca0 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.PollScheduler import PollScheduler
 
 class QueueScheduler(PollScheduler):
index 708414fb0e9e915dba989b34f6410fd2873d192f..42056977036dabd808303e35695ee979d69723dd 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from portage.output import teal
 import os
 class RepoDisplay(object):
index 8ed11c9f2c9867479e871afa4a2446ce21cb4144..8d1a744c6d11b7f17170f0f1473eda957dcb6692 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.PackageVirtualDbapi import PackageVirtualDbapi
 
 class RootConfig(object):
index d103363371420dfc1c58efb130d2b205356a59d7..2279ab26c17fc8ac44c514c8b9a24da2cfb91b89 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 import logging
 import os
 import sys
index 24fac0410dd57f9da0cb757bfd27f7e75760f278..7dcc6e516750259e895ac7784fdd506c915352ef 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.SlotObject import SlotObject
 from collections import deque
 class SequentialTaskQueue(SlotObject):
index 079b7c4d0df883076e26038a9563f3e9fcb364b2..987965dbae0796eeae746d7ab0cdd7c8745306d0 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.DependencyArg import DependencyArg
 from portage.sets import SETPREFIX
 class SetArg(DependencyArg):
index 4923826945009f2b6034f7d84f21c72751f0a6cf..1205327d6aa842473e4240f15312f71a9b0ed55d 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 class SlotObject(object):
        __slots__ = ("__weakref__",)
 
index fdd5fa61a0de76701f3f08b7adb929571f4f96d0..6d8a264053cd01c2a4648724cf066d5008d5158f 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.SubProcess import SubProcess
 from _emerge.PollConstants import PollConstants
 import sys
index 67d682bc510d6196efc6b37b196a413fbcb6b734..37957c3941aca29cfe0ffe9ab24274cc84523852 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.AbstractPollTask import AbstractPollTask
 import signal
 import os
index 6adb2cd93dd72d4d6060c04a58b70708f4a85c88..dbbdcd24fcd17fbe866935ecc0a3bd492e628780 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.SlotObject import SlotObject
 class Task(SlotObject):
        __slots__ = ("_hash_key", "_hash_value")
index 564f130aa70a13a29c38195465150400ac09dae4..9b945b9429ffedeafaeb727c6142a6af37eee4bf 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.QueueScheduler import QueueScheduler
 from _emerge.SequentialTaskQueue import SequentialTaskQueue
 
index d0609f43e1920caea05112346149cfdc53f6bdc4..3d54d90acf20939d2224c7d5527a8509ce96927f 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.CompositeTask import CompositeTask
 from _emerge.AsynchronousTask import AsynchronousTask
 import os
index 2a7cdc661d38ade1850bd79d19e43fad8bb0dd56..8b7cdfa6620f54326f1043e6f97d50a1f2d8be9b 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 # for an explanation on this logic, see pym/_emerge/__init__.py
 import os
 import sys
index 8ad0cd1ea94e529fc941b9d57f5650308326a90e..a642e07fee02c9c56644c5f11063cc962a985ee3 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.AbstractDepPriority import AbstractDepPriority
 class UnmergeDepPriority(AbstractDepPriority):
        __slots__ = ("optional", "satisfied",)
index d243133e1fa6e67630924829e7356fb73c93e7aa..66f860f96d1b0ed4c8a3a8849df9c5946dd4cf30 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from portage.output import red
 from portage.util import cmp_sort_key
 from portage.output import blue
index d4eb8294743a765477c23b055d04f8f12a696329..8047cad112a4116e31756c45e0a5201157fe8486 100644 (file)
@@ -1,5 +1,4 @@
-#!@PORTAGE_PYTHON@ -O
-# Copyright 1999-2006 Gentoo Foundation
+# Copyright 1999-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
index 3249168f209bc02ef2a232b8abe5ea287c84835f..4acf239dfe7a09a583a7bb797f5ebed5cefa93d2 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 from _emerge.DepPriority import DepPriority
 from _emerge.Package import Package
 
index 61eeb29f79a996be57c6615f9e893ad1cd49f59d..302138a7ece74686fc9628c4ef68a5fa28407737 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 def _flush_elog_mod_echo():
        """
        Dump the mod_echo output now so that our other
index d670813b67ebac24d3b11cc16ecc53d1f1ed1e3c..4511dfc5567431cc50936f07f48ec8e0d3a36e61 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 import commands
 import errno
 import logging
index b3b582b18fb17b72201e4e6031f77efd427dae1b..65427b23a5eb9831012614fc8ceaee1f0cc1effd 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 import os
 import re
 
index 9ba09aba81122653e775444f1a9ed9a81cf2b644..41285587120caa1d50ef1c7d4ab3f98fe430186d 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 import gc
 
 # for an explanation on this logic, see pym/_emerge/__init__.py
index a5fcde84ed7394d66d611fc3aa1245630414396f..6c97699a3052f2ae37e577dcb1c2f0f81773eea4 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 import sys
 import time
 
index fab741be5faf53efac2c25ed92d0ccba5860d211..5baad8004c1b2bff0dab72b9740bc05b8d3f082e 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 def create_depgraph_params(myopts, myaction):
        #configure emerge engine parameters
        #
index a76bb2edbb150e89dbf00b403682d11331f7723d..a0e5ecf8bf66f3a054ba0cceebeb07723039a4cb 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 # for an explanation on this logic, see pym/_emerge/__init__.py
 import os
 import sys
index a7d3243701b98cb15c07d4aaa968bca889fdbb2a..b19dbb1b65203bf083d08345f9125b2ac4c611e8 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 import gc
 import os
 import re
@@ -1771,6 +1775,77 @@ class depgraph(object):
 
                print
 
+       def _iter_match_pkgs(self, root_config, pkg_type, atom, onlydeps=False):
+               """
+               Iterate over Package instances of pkg_type matching the given atom.
+               This does not check visibility and it also does not match USE for
+               unbuilt ebuilds since USE are lazily calculated after visibility
+               checks (to avoid the expense when possible).
+               """
+
+               db = root_config.trees[self.pkg_tree_map[pkg_type]].dbapi
+
+               if hasattr(db, "xmatch"):
+                       cpv_list = db.xmatch("match-all", atom)
+               else:
+                       cpv_list = db.match(atom)
+
+               # USE=multislot can make an installed package appear as if
+               # it doesn't satisfy a slot dependency. Rebuilding the ebuild
+               # won't do any good as long as USE=multislot is enabled since
+               # the newly built package still won't have the expected slot.
+               # Therefore, assume that such SLOT dependencies are already
+               # satisfied rather than forcing a rebuild.
+               installed = pkg_type == 'installed'
+               if installed and not cpv_list and atom.slot:
+                       for cpv in db.match(atom.cp):
+                               slot_available = False
+                               for other_db, other_type, other_built, \
+                                       other_installed, other_keys in \
+                                       self._filtered_trees[root_config.root]["dbs"]:
+                                       try:
+                                               if atom.slot == \
+                                                       other_db.aux_get(cpv, ["SLOT"])[0]:
+                                                       slot_available = True
+                                                       break
+                                       except KeyError:
+                                               pass
+                               if not slot_available:
+                                       continue
+                               inst_pkg = self._pkg(cpv, "installed",
+                                       root_config, installed=installed)
+                               # Remove the slot from the atom and verify that
+                               # the package matches the resulting atom.
+                               atom_without_slot = portage.dep.remove_slot(atom)
+                               if atom.use:
+                                       atom_without_slot += str(atom.use)
+                               atom_without_slot = portage.dep.Atom(atom_without_slot)
+                               if portage.match_from_list(
+                                       atom_without_slot, [inst_pkg]):
+                                       cpv_list = [inst_pkg.cpv]
+                               break
+
+               if cpv_list:
+
+                       # descending order
+                       cpv_list.reverse()
+                       for cpv in cpv_list:
+                               try:
+                                       pkg = self._pkg(cpv, pkg_type, root_config,
+                                               installed=installed, onlydeps=onlydeps)
+                               except portage.exception.PackageNotFound:
+                                       pass
+                               else:
+                                       if pkg.cp != atom.cp:
+                                               # A cpv can be returned from dbapi.match() as an
+                                               # old-style virtual match even in cases when the
+                                               # package does not actually PROVIDE the virtual.
+                                               # Filter out any such false matches here.
+                                               if not InternalPackageSet(initial_atoms=(atom,)
+                                                       ).findAtomForPackage(pkg):
+                                                       continue
+                                       yield pkg
+
        def _select_pkg_highest_available(self, root, atom, onlydeps=False):
                cache_key = (root, atom, onlydeps)
                ret = self._highest_pkg_cache.get(cache_key)
@@ -1806,7 +1881,6 @@ class depgraph(object):
                if not isinstance(atom, portage.dep.Atom):
                        atom = portage.dep.Atom(atom)
                atom_cp = atom.cp
-               atom_set = InternalPackageSet(initial_atoms=(atom,))
                existing_node = None
                myeb = None
                usepkgonly = "--usepkgonly" in self.myopts
@@ -1837,63 +1911,18 @@ class depgraph(object):
                                                (found_available_arg and not selective)
                                        if want_reinstall and matched_packages:
                                                continue
-                               if hasattr(db, "xmatch"):
-                                       cpv_list = db.xmatch("match-all", atom)
-                               else:
-                                       cpv_list = db.match(atom)
-
-                               # USE=multislot can make an installed package appear as if
-                               # it doesn't satisfy a slot dependency. Rebuilding the ebuild
-                               # won't do any good as long as USE=multislot is enabled since
-                               # the newly built package still won't have the expected slot.
-                               # Therefore, assume that such SLOT dependencies are already
-                               # satisfied rather than forcing a rebuild.
-                               if installed and not cpv_list and atom.slot:
-                                       for cpv in db.match(atom.cp):
-                                               slot_available = False
-                                               for other_db, other_type, other_built, \
-                                                       other_installed, other_keys in dbs:
-                                                       try:
-                                                               if atom.slot == \
-                                                                       other_db.aux_get(cpv, ["SLOT"])[0]:
-                                                                       slot_available = True
-                                                                       break
-                                                       except KeyError:
-                                                               pass
-                                               if not slot_available:
-                                                       continue
-                                               inst_pkg = self._pkg(cpv, "installed",
-                                                       root_config, installed=installed)
-                                               # Remove the slot from the atom and verify that
-                                               # the package matches the resulting atom.
-                                               atom_without_slot = portage.dep.remove_slot(atom)
-                                               if atom.use:
-                                                       atom_without_slot += str(atom.use)
-                                               atom_without_slot = portage.dep.Atom(atom_without_slot)
-                                               if portage.match_from_list(
-                                                       atom_without_slot, [inst_pkg]):
-                                                       cpv_list = [inst_pkg.cpv]
-                                               break
-
-                               if not cpv_list:
-                                       continue
 
-                               # descending order
-                               cpv_list.reverse()
-                               for cpv in cpv_list:
+                               for pkg in self._iter_match_pkgs(root_config, pkg_type, atom, 
+                                       onlydeps=onlydeps):
+                                       cpv = pkg.cpv
                                        # Make --noreplace take precedence over --newuse.
-                                       if not installed and noreplace and \
+                                       if not pkg.installed and noreplace and \
                                                cpv in vardb.match(atom):
                                                # If the installed version is masked, it may
                                                # be necessary to look at lower versions,
                                                # in case there is a visible downgrade.
                                                continue
                                        reinstall_for_flags = None
-                                       try:
-                                               pkg = self._pkg(cpv, pkg_type, root_config,
-                                                       installed=installed, onlydeps=onlydeps)
-                                       except portage.exception.PackageNotFound:
-                                               continue
 
                                        if not installed or (built and matched_packages):
                                                # Only enforce visibility on installed packages
@@ -1948,14 +1977,6 @@ class depgraph(object):
                                        # expensive, so it is only performed lazily, after the
                                        # above visibility checks are complete.
 
-                                       if pkg.cp != atom.cp:
-                                               # A cpv can be returned from dbapi.match() as an
-                                               # old-style virtual match even in cases when the
-                                               # package does not actually PROVIDE the virtual.
-                                               # Filter out any such false matches here.
-                                               if not atom_set.findAtomForPackage(pkg):
-                                                       continue
-
                                        myarg = None
                                        if root == self.target_root:
                                                try:
index c3f37d23f12057a41e16fb92e18d243a3282b2a7..f8b537cede0a757b5c1ea91d140f4ca3e845cea2 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 import os
 import sys
 import time
index 7638100f67105457037ee2028e93fdd697618133..f48d11b179e4d405b4a7a4c4570a9b5ffa26b025 100644 (file)
@@ -1,3 +1,6 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
 
 # formats a size given in bytes nicely
 def format_size(mysize):
index b5a66cce9da02df2f3c4aba664e953ef68e16109..81265d5008649462b3049b8450d757bfade52b7b 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 import os 
 
 getloadavg = getattr(os, "getloadavg", None)
index bb60d0c49bdc9b69e0fd874013689b17e381786c..950692136d839b9cedc2a8cc36f2883fec02c3e2 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2007 Gentoo Foundation
+# Copyright 1999-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
index 33f4248967217e56a8a7a194c1e2b8da5986b8a1..2717a90807e46782a0a30409cc7a7dcd85c07f33 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 import re
 
 # for an explanation on this logic, see pym/_emerge/__init__.py
index 49d855a2b482956d7a55d12e0c0929fa2b818034..750564197894f35285dde138678533667a810d46 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 import os
 import re
 from itertools import izip
index dd839d113fba1fb5f92fca508bd777f84903465f..9688f437ac82e85463af3c87c8ea80f7e50a420e 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 import logging
 import os
 import textwrap
index 1f49a68506679fc66e7affe1eed72a6bf3e45d84..f299b5915271a43e50e907b4a14ea070c44398de 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 import platform
 import sys
 import time
index 2cddd88e38d44b183e3a737eed1b292e994ef67b..5bdead580bb194ec9d411ab7893b61d37b1f0986 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 import logging
 import os
 import sys
index 64a8761e01150822543bce1cc1d6a0d4fc018621..8b5fb4c1caa1ffb7c3e29dfe68b22aa4d466acb6 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 import sys
 
 from portage.output import bold, create_color_func
index 66fd26d77a0348995f9ea2f84bfdb03fcad6b941..e47089ed4c02008856c46954138369ef5d06fa3e 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
 # for an explanation on this logic, see pym/_emerge/__init__.py
 import os
 import sys