From 55c3e9258e178d20f8aa86eb171f8617d4857f2f Mon Sep 17 00:00:00 2001 From: Marcin Krol Date: Mon, 3 May 2021 02:10:32 +0200 Subject: [PATCH] - fix byte/str for chroot.popen --- TLD_Builder/chroot.py | 6 +++--- TLD_Builder/install.py | 12 ++++++------ TLD_Builder/maintainer.py | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/TLD_Builder/chroot.py b/TLD_Builder/chroot.py index 7485e72..6e7976a 100644 --- a/TLD_Builder/chroot.py +++ b/TLD_Builder/chroot.py @@ -24,12 +24,12 @@ def command_sh(cmd): return "%s sudo chroot %s /bin/sh -c \"export LC_ALL=C; exec < /dev/null; %s\"" \ % (config.sudo_chroot_wrapper, config.chroot, quote(cmd)) -def popen(cmd, user = "builder", mode = "r"): +def popen(cmd, user = "builder", mode = "r", encoding = None): if mode == "r": - p = subprocess.Popen(command(cmd, user), shell=True, stdout=subprocess.PIPE, close_fds=True) + p = subprocess.Popen(command(cmd, user), shell=True, stdout=subprocess.PIPE, close_fds=True, encoding=encoding) f = p.stdout else: - p = subprocess.Popen(command(cmd, user), shell=True, stdin=subprocess.PIPE, close_fds=True) + p = subprocess.Popen(command(cmd, user), shell=True, stdin=subprocess.PIPE, close_fds=True, encoding=encoding) f = p.stdin return f diff --git a/TLD_Builder/install.py b/TLD_Builder/install.py index 7242ce4..9cfb94f 100644 --- a/TLD_Builder/install.py +++ b/TLD_Builder/install.py @@ -28,7 +28,7 @@ def close_killset(killset): del killset[p] errors += "cannot remove %s because it's crucial\n" % p else: - f = chroot.popen("poldek --noask --test --test --erase %s" % p, user = "root") + f = chroot.popen("poldek --noask --test --test --erase %s" % p, user = "root", encoding = "utf-8") crucial = 0 e = [] for l in f: @@ -49,7 +49,7 @@ def close_killset(killset): return errors def upgrade_from_batch(r, b): - f = chroot.popen("rpm --test -F %s 2>&1" % ' '.join(b.files), user = "root") + f = chroot.popen("rpm --test -F %s 2>&1" % ' '.join(b.files), user = "root", encoding = "utf-8") killset = {} rx = re.compile(r' \(installed\) (?P[^\s]+)-[^-]+-[^-]+$') for l in f: @@ -100,7 +100,7 @@ def uninstall(conflicting, b): return True def is_rpmorg(): - f = chroot.popen("rpm --version 2>&1") + f = chroot.popen("rpm --version 2>&1", encoding = "utf-8") v = re.compile(r'(RPM version|rpm \(RPM\)) (?P\d)\.(?P\d+)(\.\d+)?') for l in f: m = v.search(l) @@ -125,7 +125,7 @@ def uninstall_self_conflict(b): 'rpmdefs' : b.rpmbuild_opts(), 'topdir' : b.get_topdir(), 'spec': b.spec, - }) + }, encoding = "utf-8") # java-sun >= 1.5 conflicts with soprano-2.1.67-1.src # java-sun conflicts with soprano-2.1.67-1.src rx = re.compile(r"\s+(?P[\w-]+)\s+.*conflicts with [^\s]+-[^-]+-[^-]+\.src($| .*)") @@ -158,7 +158,7 @@ def install_br(r, b): 'rpmdefs' : b.rpmbuild_opts(), 'spec': b.spec, } - f = chroot.popen(cmd) + f = chroot.popen(cmd, encoding = "utf-8") rx = re.compile(r"^\s*(?P[^\s]+) .*is needed by") needed = {} b.log_line("checking BR") @@ -184,7 +184,7 @@ def install_br(r, b): chroot.run("poldek --up --upa", user = "root", logfile = b.logfile) # check conflicts in BRed packages b.log_line("checking conflicting packages in BRed packages") - f = chroot.popen("poldek --test --test --noask --caplookup -Q -v %s --upgrade %s" % (b.ignores(), br), user = "root") + f = chroot.popen("poldek --test --test --noask --caplookup -Q -v %s --upgrade %s" % (b.ignores(), br), user = "root", encoding = "utf-8") # phonon-devel-4.3.1-1.i686 conflicts with qt4-phonon-devel-4.5.0-6.i686 # jdbc-stdext >= 2.0 is required by installed java-struts-1.3.10-1.noarch # jmx is needed by (installed) java-commons-modeler-2.0-1.noarch diff --git a/TLD_Builder/maintainer.py b/TLD_Builder/maintainer.py index 6b1b45a..4d909df 100644 --- a/TLD_Builder/maintainer.py +++ b/TLD_Builder/maintainer.py @@ -39,7 +39,7 @@ def handle_src(): def handle_bin(): send_rpmqa() - f=chroot.popen("""ls -l --time-style +%s /spools/ready""", 'root') + f=chroot.popen("""ls -l --time-style +%s /spools/ready""", "root", encoding = "utf-8") rmpkgs=[] curtime=time.time() for i in f: -- 2.44.0