aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndré Erdmann <dywi@mailerd.de>2013-08-02 12:17:52 +0200
committerAndré Erdmann <dywi@mailerd.de>2013-08-02 12:17:52 +0200
commit43ab1d2328ee2968dc0d5076f33629f859e12718 (patch)
treea32a03e2601c5adce1d9ccd0a3ef2b4e599d2dd9 /roverlay/packageinfo.py
parentfiles/hooks/git-commit-overlay: don't exit (diff)
downloadR_overlay-43ab1d2328ee2968dc0d5076f33629f859e12718.tar.gz
R_overlay-43ab1d2328ee2968dc0d5076f33629f859e12718.tar.bz2
R_overlay-43ab1d2328ee2968dc0d5076f33629f859e12718.zip
support suffixes $PV when importing ebuilds
Selfdep validation may fail/ignore when dealing with import ebuilds with a version suffix ("_pre..." etc.).
Diffstat (limited to 'roverlay/packageinfo.py')
-rw-r--r--roverlay/packageinfo.py18
1 files changed, 11 insertions, 7 deletions
diff --git a/roverlay/packageinfo.py b/roverlay/packageinfo.py
index 752f996..704807e 100644
--- a/roverlay/packageinfo.py
+++ b/roverlay/packageinfo.py
@@ -805,17 +805,21 @@ class PackageInfo ( object ):
pv_str, DONT_CARE, pr_str = pvr.partition ( '-r' )
pv, DONT_CARE, pv_suffix = pv_str.partition ( '_' )
+ # non-digit chars in pv are not supported
+ pv_list = [ int(z) for z in pv.split ( '.' ) ]
+
if pv_suffix:
# not supported
- raise NotImplementedError (
- "version suffix {!r} cannot be preserved for $PVR {!r}".format (
- pv_suffix, pvr
+ self._info ['version'] = (
+ roverlay.versiontuple.SuffixedIntVersionTuple (
+ pv_list, pv_suffix
)
)
- # non-digit chars in pv are unsupported, too
- self._info ['version'] = roverlay.versiontuple.IntVersionTuple (
- int ( z ) for z in pv.split ( '.' )
- )
+ else:
+ self._info ['version'] = (
+ roverlay.versiontuple.IntVersionTuple ( pv_list )
+ )
+
self._info ['rev'] = int ( pr_str ) if pr_str else 0
self._info ['ebuild_verstr'] = pvr