Example #1
0
    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")
Example #2
0
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
Example #3
0
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