aboutsummaryrefslogtreecommitdiffstats
path: root/minidinstall/misc.py
diff options
context:
space:
mode:
authorLibravatarChristoph Goehre <chris@sigxcpu.org>2010-10-10 11:14:16 +0200
committerLibravatarChristoph Goehre <chris@sigxcpu.org>2010-10-10 11:16:56 +0200
commit9e2e87a094c4f725c20789ca003a72e9a775f01b (patch)
tree29fa97eede2951a13d0ba4d3f76971040f4dcc33 /minidinstall/misc.py
parent4c216a26afd5321b4316f82aa3a61cfaa65193e2 (diff)
popen2 is deprecated in python 2.6
So now we only use the internal hash algorithm provided by hashlib.
Diffstat (limited to 'minidinstall/misc.py')
-rw-r--r--minidinstall/misc.py41
1 files changed, 1 insertions, 40 deletions
diff --git a/minidinstall/misc.py b/minidinstall/misc.py
index 7efd426..94fe291 100644
--- a/minidinstall/misc.py
+++ b/minidinstall/misc.py
@@ -18,7 +18,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-import os, errno, time, string, re, popen2, hashlib
+import os, errno, time, string, re, hashlib
def dup2(fd,fd2):
# dup2 with EBUSY retries (cf. dup2(2) and Debian bug #265513)
@@ -48,13 +48,6 @@ def format_changes(L):
def get_file_sum(self, type, filename):
""" generate hash sums for file """
- ret = _get_external_file_sum(self, type, filename)
- if not ret:
- ret = _get_internal_file_sum(self, type, filename)
- return ret
-
-def _get_internal_file_sum(self ,type, filename):
- """ generate hash sums for file with python modules """
if type == 'md5':
sum = hashlib.md5()
elif type == 'sha1':
@@ -68,35 +61,3 @@ def _get_internal_file_sum(self ,type, filename):
sum.update(buf)
buf = f.read(8192)
return sum.hexdigest()
-
-def _get_external_file_sum(self, type, filename):
- """ generate hash sums for file with external programs """
- ret = None
- if os.access('/usr/bin/%ssum' % (type,), os.X_OK):
- cmd = '/usr/bin/%ssum %s' % (type, filename,)
- self._logger.debug("Running: %s" % (cmd,))
- child = popen2.Popen3(cmd, 1)
- child.tochild.close()
- erroutput = child.childerr.read()
- child.childerr.close()
- if erroutput != '':
- child.fromchild.close()
- raise DinstallException("%ssum returned error output \"%s\"" % (type, erroutput,))
- (sum, filename) = string.split(child.fromchild.read(), None, 1)
- child.fromchild.close()
- try:
- status = child.wait()
- except OSError, (errnum, err):
- if errnum == 10:
- self._logger.warn("Ignoring missing child proccess")
- status = 0
- if not (status is None or (os.WIFEXITED(status) and os.WEXITSTATUS(status) == 0)):
- if os.WIFEXITED(status):
- msg = "%ssum exited with error code %d" % (type, os.WEXITSTATUS(status),)
- elif os.WIFSTOPPED(status):
- msg = "%ssum stopped unexpectedly with signal %d" % (type, os.WSTOPSIG(status),)
- elif os.WIFSIGNALED(status):
- msg = "%ssum died with signal %d" % (type, os.WTERMSIG(status),)
- raise DinstallException(msg)
- ret = sum.strip()
- return ret