summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-11-12 23:34:36 +0000
committerZac Medico <zmedico@gentoo.org>2009-11-12 23:34:36 +0000
commitc281261a8c23137d09c616e1fd5f08e20c78ab39 (patch)
tree768365f0ab90e95f01a55e285e3db86360c2b1a6 /pym/_emerge/Package.py
parentBug #292910 - Don't mix print() and writemsg_stdout(), in order to avoid (diff)
downloadportage-idfetch-c281261a8c23137d09c616e1fd5f08e20c78ab39.tar.gz
portage-idfetch-c281261a8c23137d09c616e1fd5f08e20c78ab39.tar.bz2
portage-idfetch-c281261a8c23137d09c616e1fd5f08e20c78ab39.zip
Bug #292820 - Make the Package constructor handle invalid SLOT values.
svn path=/main/trunk/; revision=14819
Diffstat (limited to 'pym/_emerge/Package.py')
-rw-r--r--pym/_emerge/Package.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py
index d6970b5f..dc8b975e 100644
--- a/pym/_emerge/Package.py
+++ b/pym/_emerge/Package.py
@@ -8,7 +8,7 @@ from itertools import chain
import portage
from portage.cache.mappings import slot_dict_class
from portage.dep import paren_reduce, use_reduce, \
- paren_normalize, paren_enclose
+ paren_normalize, paren_enclose, _slot_re
from _emerge.Task import Task
if sys.hexversion >= 0x3000000:
@@ -40,7 +40,9 @@ class Package(Task):
self.metadata['CHOST'] = self.root_config.settings.get('CHOST', '')
self.cp = portage.cpv_getkey(self.cpv)
slot = self.slot
- if not slot:
+ if _slot_re.match(slot) is None:
+ self._invalid_metadata('SLOT.invalid',
+ "SLOT: invalid value: '%s'" % slot)
# Avoid an InvalidAtom exception when creating slot_atom.
# This package instance will be masked due to empty SLOT.
slot = '0'