summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Plugins/Packages
diff options
context:
space:
mode:
authorDmitri Iouchtchenko <johnnyspoon@gmail.com>2016-09-08 11:18:46 -0400
committerDmitri Iouchtchenko <johnnyspoon@gmail.com>2016-09-08 11:18:46 -0400
commit4d82f54bbfe430468733afddf4fa9ad4752310da (patch)
treea81b3ebe1b5971bd02288a4acb728432182cbd5e /src/lib/Bcfg2/Server/Plugins/Packages
parent7586aee42bc37432ad07638e254997540aa34007 (diff)
downloadbcfg2-4d82f54bbfe430468733afddf4fa9ad4752310da.tar.gz
bcfg2-4d82f54bbfe430468733afddf4fa9ad4752310da.tar.bz2
bcfg2-4d82f54bbfe430468733afddf4fa9ad4752310da.zip
Packages: Strip ':any' suffix from APT dependencies
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugins/Packages')
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Packages/Apt.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Apt.py b/src/lib/Bcfg2/Server/Plugins/Packages/Apt.py
index 2637fadfe..5bcc482af 100644
--- a/src/lib/Bcfg2/Server/Plugins/Packages/Apt.py
+++ b/src/lib/Bcfg2/Server/Plugins/Packages/Apt.py
@@ -6,6 +6,15 @@ from Bcfg2.Server.Plugins.Packages.Collection import Collection
from Bcfg2.Server.Plugins.Packages.Source import Source
+def strip_suffix(pkgname):
+ """ Remove the ':any' suffix from a dependency name if it is present.
+ """
+ if pkgname.endswith(':any'):
+ return pkgname[:-4]
+ else:
+ return pkgname
+
+
class AptCollection(Collection):
""" Handle collections of APT sources. This is a no-op object
that simply inherits from
@@ -115,6 +124,7 @@ class AptSource(Source):
cdeps = [re.sub(r'\s+', '',
re.sub(r'\(.*\)', '', cdep))
for cdep in dep.split('|')]
+ cdeps = [strip_suffix(cdep) for cdep in cdeps]
dyn_dname = "choice-%s-%s-%s" % (pkgname,
barch,
vindex)
@@ -128,6 +138,7 @@ class AptSource(Source):
else:
raw_dep = re.sub(r'\(.*\)', '', dep)
raw_dep = raw_dep.rstrip().strip()
+ raw_dep = strip_suffix(raw_dep)
if words[0] == 'Recommends':
brecs[barch][pkgname].append(raw_dep)
else: