def testPackages(self, login, password, info): authobj = auth(login, password) info['orgId'] = authobj.org_id packages = info.get('packages') for package in packages: package['header'] = rhn_rpm.headerLoad(package['header'].data) # get back dictionaries of lists, key == filename results = {} log_debug(1, info) testChecksums(info, results) testObsoletes(info, results) testDependencies(info, results) #log_debug(3, results) problems = [] for problem_package in results.keys(): problems.append(format_package_problems(problem_package, results[problem_package])) return """ rhn-lint RPM Package Tests: =========================== Problem packages: %s """ % string.join(problems, "\n\n")
def __processPackage(package, org_id, channels, source): log_debug(4, org_id, channels, source) if 'md5sum' in package: # for old rhnpush compatibility package['checksum_type'] = 'md5' package['checksum'] = package['md5sum'] del(package['md5sum']) if 'checksum' not in package: raise rhnFault(50, "The package's checksum digest has not been specified") if 'packageSize' not in package: raise rhnFault(50, "The package size has not been specified") header = rhn_rpm.headerLoad(package['header'].data) if not header: raise rhnFault(50) packageSize = package['packageSize'] relpath = package.get('relativePath') if 'header_start' in package: header_start = package['header_start'] else: header_start = 0 if 'header_end' in package: header_end = package['header_end'] else: # Just say the whole package header_end = packageSize checksum_type = package['checksum_type'] checksum = package['checksum'] p = createPackage(header, packageSize, checksum_type, checksum, relpath, org_id, header_start, header_end, channels) return p
def __processPackage(package, org_id, channels, source): log_debug(4, org_id, channels, source) if 'md5sum' in package: # for old rhnpush compatibility package['checksum_type'] = 'md5' package['checksum'] = package['md5sum'] del (package['md5sum']) if 'checksum' not in package: raise rhnFault(50, "The package's checksum digest has not been specified") if not package.has_key('packageSize'): raise rhnFault(50, "The package size has not been specified") header = rhn_rpm.headerLoad(package['header'].data) if not header: raise rhnFault(50) packageSize = package['packageSize'] relpath = package.get('relativePath') if package.has_key('header_start'): header_start = package['header_start'] else: header_start = 0 if package.has_key('header_end'): header_end = package['header_end'] else: # Just say the whole package header_end = packageSize checksum_type = package['checksum_type'] checksum = package['checksum'] p = createPackage(header, packageSize, checksum_type, checksum, relpath, org_id, header_start, header_end, channels) return p