diff -up yum-3.4.3/yum/__init__.py.orig yum-3.4.3/yum/__init__.py --- yum-3.4.3/yum/__init__.py.orig 2019-03-27 16:56:28.012138396 +0100 +++ yum-3.4.3/yum/__init__.py 2019-03-27 16:58:37.176809731 +0100 @@ -6890,24 +6890,24 @@ much more problems). self._ts_save_file = filename - msg = "%s\n" % self.rpmdb.simpleVersion(main_only=True)[0] - msg += "%s\n" % self.ts.getTsFlags() + msg = ["%s\n" % self.rpmdb.simpleVersion(main_only=True)[0], + "%s\n" % self.ts.getTsFlags()] if self.tsInfo._pkgSack is None: # Transactions have pkgSack? - msg += "1\n" + msg += ["1\n"] else: - msg += "%s\n" % (len(self.repos.listEnabled()) + 1) + msg += ["%s\n" % (len(self.repos.listEnabled()) + 1)] for r in self.repos.listEnabled(): - msg += "%s:%s:%s\n" % (r.id, len(r.sack), r.repoXML.revision) + msg += ["%s:%s:%s\n" % (r.id, len(r.sack), r.repoXML.revision)] # Save what we think the future rpmdbv will be. - msg += "%s:%s\n" % ('installed', self.tsInfo.futureRpmDBVersion()) + msg += ["%s:%s\n" % ('installed', self.tsInfo.futureRpmDBVersion())] - msg += "%s\n" % len(self.tsInfo.getMembers()) + msg += ["%s\n" % len(self.tsInfo.getMembers())] for txmbr in self.tsInfo.getMembers(): - msg += txmbr._dump() + msg += [txmbr._dump()] try: - f.write(msg) + f.write(''.join(msg)) f.close() except (IOError, OSError), e: self._ts_save_file = None diff -up yum-3.4.3/yum/transactioninfo.py.orig yum-3.4.3/yum/transactioninfo.py --- yum-3.4.3/yum/transactioninfo.py.orig 2019-03-27 16:55:57.905748837 +0100 +++ yum-3.4.3/yum/transactioninfo.py 2019-03-27 16:58:37.178809757 +0100 @@ -873,44 +873,47 @@ class TransactionMember: return "<%s : %s (%s)>" % (self.__class__.__name__, str(self),hex(id(self))) def _dump(self): - msg = "mbr: %s,%s,%s,%s,%s %s\n" % (self.name, self.arch, self.epoch, - self.version, self.release, self.current_state) - msg += " repo: %s\n" % self.po.repo.id - msg += " ts_state: %s\n" % self.ts_state - msg += " output_state: %s\n" % self.output_state - msg += " isDep: %s\n" % bool(self.isDep) - msg += " reason: %s\n" % self.reason - #msg += " process: %s\n" % self.process - msg += " reinstall: %s\n" % bool(self.reinstall) + msg = ["mbr: %s,%s,%s,%s,%s %s\n" % + (self.name, self.arch, self.epoch, self.version, self.release, + self.current_state), + " repo: %s\n" % self.po.repo.id, + " ts_state: %s\n" % self.ts_state, + " output_state: %s\n" % self.output_state, + " isDep: %s\n" % bool(self.isDep), + " reason: %s\n" % self.reason, + # " process: %s\n" % self.process, + " reinstall: %s\n" % bool(self.reinstall)] if self.relatedto: - msg += " relatedto:" + msg += [" relatedto:"] for (po, rel) in self.relatedto: pkgorigin = 'a' if isinstance(po, YumInstalledPackage): pkgorigin = 'i' - msg += " %s,%s,%s,%s,%s@%s:%s" % (po.name, po.arch, po.epoch, - po.version, po.release, pkgorigin, rel) - msg += "\n" + msg += [" %s,%s,%s,%s,%s@%s:%s" % + (po.name, po.arch, po.epoch, po.version, po.release, + pkgorigin, rel)] + msg += ["\n"] for lst in ['depends_on', 'obsoletes', 'obsoleted_by', 'downgrades', 'downgraded_by', 'updates', 'updated_by']: thislist = getattr(self, lst) if thislist: - msg += " %s:" % lst + msg += [" %s:" % lst] for po in thislist: pkgorigin = 'a' if isinstance(po, YumInstalledPackage): pkgorigin = 'i' - msg += " %s,%s,%s,%s,%s@%s" % (po.name, po.arch, po.epoch, - po.version, po.release, pkgorigin) - msg += "\n" + msg += [" %s,%s,%s,%s,%s@%s" % + (po.name, po.arch, po.epoch, po.version, + po.release, pkgorigin)] + msg += ["\n"] if self.groups: - msg += " groups: %s\n" % ' '.join(self.groups) + msg += [" groups: %s\n" % ' '.join(self.groups)] if self.environments: - msg += " environments: %s\n" % ' '.join(self.environments) + msg += [" environments: %s\n" % ' '.join(self.environments)] if self.repopkg: - msg += " repopkg: %s\n" % self.repopkg + msg += [" repopkg: %s\n" % self.repopkg] - return msg + return ''.join(msg)