summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2004-10-21 20:12:45 +0000
committerNarayan Desai <desai@mcs.anl.gov>2004-10-21 20:12:45 +0000
commit47a54440f26f6dc5903e304284a1116ab32aa1c3 (patch)
tree556f1070159ab87019b911c4e73c482c909889f2 /src
parent4a81b45464d7cf2736338ce5e72a77ead1055f0a (diff)
downloadbcfg2-47a54440f26f6dc5903e304284a1116ab32aa1c3.tar.gz
bcfg2-47a54440f26f6dc5903e304284a1116ab32aa1c3.tar.bz2
bcfg2-47a54440f26f6dc5903e304284a1116ab32aa1c3.zip
fix partial package errors
(Logical change 1.105) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@477 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src')
-rw-r--r--src/lib/Client/Debian.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/lib/Client/Debian.py b/src/lib/Client/Debian.py
index fe1c8266c..305bc4f72 100644
--- a/src/lib/Client/Debian.py
+++ b/src/lib/Client/Debian.py
@@ -5,11 +5,10 @@ __revision__ = '$Revision$'
from copy import deepcopy
from os import environ, stat, system
from popen2 import Popen4
-from string import join, split
import apt_pkg
-from Toolset import Toolset
+from Bcfg2.Client.Toolset import Toolset
def Detect():
try:
@@ -54,7 +53,7 @@ class Debian(Toolset):
while cstat == -1:
output += cmd.fromchild.read()
cstat = cmd.poll() >> 8
- if len(filter(lambda x:x, split(output, '\n'))) > num:
+ if len([x for x in output.split('\n') if x]) > num:
return False
return True
@@ -85,7 +84,7 @@ class Debian(Toolset):
while cstat == -1:
output += cmd.fromchild.read()
cstat = cmd.poll()
- output = filter(lambda x:x, split(output, '\n'))
+ output = [x for x in output.split('\n') if x]
if [x for x in output if x not in modlist]:
return False
return True
@@ -134,9 +133,11 @@ class Debian(Toolset):
print "Installing"
cmd = "apt-get --reinstall -q=2 -y install %s"
print "Need to remove:", self.pkgwork['remove']
- print "%s new, %s update, %s remove" % (len(self.pkgwork['add']), len(self.pkgwork['update']), len(self.pkgwork['remove']))
+ print "%s new, %s update, %s remove" % (len(self.pkgwork['add']),
+ len(self.pkgwork['update']), len(self.pkgwork['remove']))
# try single large install
- rc = system(cmd%join(map(lambda x:"%s=%s"%(x.attrib['name'], x.attrib['version']), self.pkgwork['add'] + self.pkgwork['update'])))
+ rc = system(cmd % " ".join(["%s=%s" % (x.attrib['name'], x.attrib.get('version', 'dummy')) for x in
+ self.pkgwork['add'] + self.pkgwork['update']]))
if rc == 0:
# set installed to true for pkgtodo
for pkg in self.pkgwork['add'] + self.pkgwork['update']: