def package(self, package, fileChecksumType, fileChecksum): self.warn(1, "Uploading package %s" % package) if not os.access(package, os.R_OK): self.die(-1, "Could not read file %s" % package) try: h = uploadLib.get_header(package, source=self.options.source) except uploadLib.UploadError: e = sys.exc_info()[1] # GS: MALFORMED PACKAGE print("Unable to load package", package, ":", e) return None if hasattr(h, 'packaging'): packaging = h.packaging else: packaging = 'rpm' if packaging == 'rpm' and self.options.nosig is None and not h.is_signed( ): # pkilambi:bug#173886:force exit to check for sig if --nosig raise uploadLib.UploadError( "ERROR: %s: unsigned rpm (use --nosig to force)" % package) try: ret = self._push_package_v2(package, fileChecksumType, fileChecksum) except uploadLib.UploadError: e = sys.exc_info()[1] ret, diff_level, pdict = e.args[:3] severities = { 1: 'path changed', 2: 'package resigned', 3: 'differing build times or hosts', 4: 'package recompiled', } if diff_level in severities: strmsg = \ "Error: Package with same name already exists on " + \ "server but contents differ (" + \ severities[diff_level] + \ "). Use --force or remove old package before " + \ "uploading the newer version." else: strmsg = "Error: severity %s" % diff_level self.warn( -1, "Uploading failed for %s\n%s\n\tDiff: %s" % (package, strmsg, pdict['diff']['diff'])) if diff_level != 1: # This will prevent us from annoyingly retrying when there is # no reason to. raise uploadLib.UploadError() return ret return ret
def package(self, package, fileChecksumType, fileChecksum): self.warn(1, "Uploading package %s" % package) if not os.access(package, os.R_OK): self.die(-1, "Could not read file %s" % package) try: h = uploadLib.get_header(package, source=self.options.source) except uploadLib.UploadError: e = sys.exc_info()[1] # GS: MALFORMED PACKAGE print("Unable to load package", package, ":", e) return None if hasattr(h, 'packaging'): packaging = h.packaging else: packaging = 'rpm' if packaging == 'rpm' and self.options.nosig is None and not h.is_signed(): # pkilambi:bug#173886:force exit to check for sig if --nosig raise uploadLib.UploadError("ERROR: %s: unsigned rpm (use --nosig to force)" % package) try: ret = self._push_package_v2(package, fileChecksumType, fileChecksum) except uploadLib.UploadError: e = sys.exc_info()[1] ret, diff_level, pdict = e.args[:3] severities = { 1: 'path changed', 2: 'package resigned', 3: 'differing build times or hosts', 4: 'package recompiled', } if diff_level in severities: strmsg = \ "Error: Package with same name already exists on " + \ "server but contents differ (" + \ severities[diff_level] + \ "). Use --force or remove old package before " + \ "uploading the newer version." else: strmsg = "Error: severity %s" % diff_level self.warn(-1, "Uploading failed for %s\n%s\n\tDiff: %s" % (package, strmsg, pdict['diff']['diff'])) if diff_level != 1: # This will prevent us from annoyingly retrying when there is # no reason to. raise uploadLib.UploadError() return ret return ret