summaryrefslogtreecommitdiff
path: root/usr/lib/portage/pym/_emerge/DependencyArg.py
diff options
context:
space:
mode:
authorMike Frysinger <vapier@google.com>2015-05-31 05:15:46 -0400
committerMike Frysinger <vapier@google.com>2015-05-31 05:15:46 -0400
commit031126cef43e4338873d97de2189fa9f2fe06eea (patch)
tree48f628bbcec0b7766c68796ab2d560132b0e8c50 /usr/lib/portage/pym/_emerge/DependencyArg.py
parent06303e6a87d55bdd9c880b2f4df65e0bbc6202ff (diff)
downloadportage-031126cef43e4338873d97de2189fa9f2fe06eea.tar.gz
initial import
This is the portage-prefix-2.2.14 release set up like: ./configure \ --prefix=/usr/local/google/home/vapier/src/android/mdk/build/portage/tmp/prefix-portage-2.2.14/destdir/usr \ --with-portage-user=vapier \ --with-portage-group=eng \ --with-offset-prefix=/usr/local/google/home/vapier/src/android/mdk/build/portage/tmp/prefix-portage-2.2.14/destdir It does not work as-is; follow up commits will make it more usable. BUG=b:20895978 Change-Id: I03d3de254bf9f7c3204bd6ac7254c15476b08ba7
Diffstat (limited to 'usr/lib/portage/pym/_emerge/DependencyArg.py')
-rw-r--r--usr/lib/portage/pym/_emerge/DependencyArg.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/usr/lib/portage/pym/_emerge/DependencyArg.py b/usr/lib/portage/pym/_emerge/DependencyArg.py
new file mode 100644
index 0000000..29a0072
--- /dev/null
+++ b/usr/lib/portage/pym/_emerge/DependencyArg.py
@@ -0,0 +1,46 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+from __future__ import unicode_literals
+
+import sys
+
+from portage import _encodings, _unicode_encode
+
+class DependencyArg(object):
+
+ __slots__ = ('arg', 'force_reinstall', 'internal', 'reset_depth', 'root_config')
+
+ def __init__(self, arg=None, force_reinstall=False, internal=False,
+ reset_depth=True, root_config=None):
+ """
+ Use reset_depth=False for special arguments that should not interact
+ with depth calculations (see the emerge --deep=DEPTH option).
+ """
+ self.arg = arg
+ self.force_reinstall = force_reinstall
+ self.internal = internal
+ self.reset_depth = reset_depth
+ self.root_config = root_config
+
+ def __eq__(self, other):
+ if self.__class__ is not other.__class__:
+ return False
+ return self.arg == other.arg and \
+ self.root_config.root == other.root_config.root
+
+ def __hash__(self):
+ return hash((self.arg, self.root_config.root))
+
+ def __str__(self):
+ # Use unicode_literals format string for python-2.x safety,
+ # ensuring that self.arg.__unicode__() is used
+ # when necessary.
+ return "%s" % (self.arg,)
+
+ if sys.hexversion < 0x3000000:
+
+ __unicode__ = __str__
+
+ def __str__(self):
+ return _unicode_encode(self.__unicode__(), encoding=_encodings['content'])