From: Zac Medico Date: Mon, 10 Sep 2012 20:45:23 +0000 (-0700) Subject: repoman: fix os.system() unicode, bug #310789 X-Git-Tag: v2.2.0_alpha126~11 X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=11d08aca93d6a458cdf71473c22c205d66df57f6;p=portage.git repoman: fix os.system() unicode, bug #310789 --- diff --git a/bin/repoman b/bin/repoman index 54a7c5b8e..53d138c8d 100755 --- a/bin/repoman +++ b/bin/repoman @@ -2786,7 +2786,13 @@ else: if options.pretend: print("("+gpgcmd+")") else: - rValue = os.system(gpgcmd) + # Encode unicode manually for bug #310789. + gpgcmd = portage.util.shlex_split(gpgcmd) + if sys.hexversion < 0x3000000 or sys.hexversion >= 0x3020000: + # Python 3.1 does not support bytes in Popen args. + gpgcmd = [_unicode_encode(arg, + encoding=_encodings['fs'], errors='strict') for arg in gpgcmd] + rValue = subprocess.call(gpgcmd) if rValue == os.EX_OK: os.rename(filename+".asc", filename) else: