aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndré Erdmann <dywi@mailerd.de>2012-06-28 15:28:59 +0200
committerAndré Erdmann <dywi@mailerd.de>2012-06-28 15:28:59 +0200
commitd1789f1570486f0ac5f52804801de7f078d0991f (patch)
tree5d91c306e1a8db32de67818f471d7e859056761f /roverlay/packageinfo.py
parentebuild: don't print empty vars (DEPEND="" etc.) (diff)
downloadR_overlay-d1789f1570486f0ac5f52804801de7f078d0991f.tar.gz
R_overlay-d1789f1570486f0ac5f52804801de7f078d0991f.tar.bz2
R_overlay-d1789f1570486f0ac5f52804801de7f078d0991f.zip
PackageInfo: fix illegal ebuild names
modified: roverlay/packageinfo.py
Diffstat (limited to 'roverlay/packageinfo.py')
-rw-r--r--roverlay/packageinfo.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/roverlay/packageinfo.py b/roverlay/packageinfo.py
index 8f59439..cc09a6b 100644
--- a/roverlay/packageinfo.py
+++ b/roverlay/packageinfo.py
@@ -41,6 +41,10 @@ class PackageInfo ( object ):
config.get_or_fail ( 'R_PACKAGE.suffix_regex' ) + '$'
)
+ ILLEGAL_NAME_CHARS = re.compile ( "[.:]{1,}" )
+ ILLEGAL_NAME_CHARS_REPLACE_BY = '_'
+
+
def __init__ ( self, **initial_info ):
"""Initializes a PackageInfo.
@@ -296,13 +300,20 @@ class PackageInfo ( object ):
# TODO: discard or continue with bad version?
logging.error (
"Cannot parse version string '%s' for '%s'"
- % ( filepath, version_str )
+ % ( _filename, version_str )
)
raise
# using package name as name (unless modified later),
# using pkg_version for the ebuild version
- self ['name'] = package_name
+
+ # removing illegal chars from the package_name
+ ebuild_name = PackageInfo.ILLEGAL_NAME_CHARS.sub (
+ PackageInfo.ILLEGAL_NAME_CHARS_REPLACE_BY, package_name
+ )
+ if ebuild_name != package_name:
+ self ['name'] = ebuild_name
+
self ['ebuild_verstr'] = version_str
# for DescriptionReader