Ejemplo n.º 1
0
def makeFakeRPM(repo_dir,
                name,
                epoch,
                version,
                release,
                files=None,
                provides=None):
    """Make a fake rpm file in repo_dir"""
    if provides is None:
        provides = []
    p = SimpleRpmBuild(name, version, release)
    if epoch:
        p.epoch = epoch
    if not files:
        p.add_simple_payload_file_random()
    else:
        # Make a number of fake file entries in the rpm
        for f in files:
            p.add_installed_file(installPath=f,
                                 sourceFile=SourceFile(os.path.basename(f),
                                                       "THIS IS A FAKE FILE"))
    for c in provides:
        p.add_provides(c)
    with in_tempdir("lorax-test-rpms."):
        p.make()
        rpmfile = p.get_built_rpm(expectedArch)
        shutil.move(rpmfile, repo_dir)
Ejemplo n.º 2
0
def make_rpm(outdir,
             name='test',
             version='1.0',
             release='1',
             arch=None,
             for_anaconda_ver=None,
             for_kernel_ver=None,
             payload=None):
    p = SimpleRpmBuild(name, version, release)
    if for_anaconda_ver:
        p.add_provides('installer-enhancement = %s' % for_anaconda_ver)
    if for_kernel_ver:
        p.add_provides('kernel-modules >= %s' % for_kernel_ver)
    if payload is None:
        payload = []
    for item in payload:
        p.add_installed_file(item.path, SourceFile(item.srcpath,
                                                   item.contents),
                             **item.kwargs)
    with in_tempdir("anaconda-test-dd."):
        p.make()
        rpmfile = p.get_built_rpm(arch or expectedArch)
        outfile = os.path.join(outdir, os.path.basename(rpmfile))
        shutil.move(rpmfile, outfile)
    return p
Ejemplo n.º 3
0
def make_fake_rpm(outdir, name, epoch, version, release, requires=None, provides=None):
    p = SimpleRpmBuild(name, version, release)
    if epoch:
        p.epoch = epoch
    if requires:
        p.add_requires(requires)
    if provides:
        p.add_provides(provides)

    with in_tempdir("bdcs-test-rpms."):
        p.make()
        rpmfile = p.get_built_rpm(expectedArch)
        shutil.move(rpmfile, os.path.join(outdir, os.path.basename(rpmfile)))
Ejemplo n.º 4
0
def make_rpm(outdir, name='test', version='1.0', release='1', arch=None,
             for_anaconda_ver=None, for_kernel_ver=None,
             payload=None):
    p = SimpleRpmBuild(name, version, release)
    if for_anaconda_ver:
        p.add_provides('installer-enhancement = %s' % for_anaconda_ver)
    if for_kernel_ver:
        p.add_provides('kernel-modules >= %s' % for_kernel_ver)
    if payload is None:
        payload = []
    for item in payload:
        p.add_installed_file(item.path,
                             SourceFile(item.srcpath, item.contents),
                             **item.kwargs)
    with in_tempdir("anaconda-test-dd."):
        p.make()
        rpmfile = p.get_built_rpm(arch or expectedArch)
        outfile = os.path.join(outdir, os.path.basename(rpmfile))
        shutil.move(rpmfile, outfile)
    return p
Ejemplo n.º 5
0
rpm.add_requires('TestM')
pkgs.append(rpm)
# Used for remove tests. Multiple packages require TestM therefore TestM cannot be removed if package is required by
# other package.

rpm = SimpleRpmBuild('TestM', '1.0.0', '1', ['noarch'])
pkgs.append(rpm)
# Requirement of TestK and TestL.

rpm = SimpleRpmBuild('TestN', '1.0.0', '1', ['noarch'])
pkgs.append(rpm)
# Used in upgrade tests

rpm = SimpleRpmBuild('TestO', '1.0.0', '1', ['noarch'])
rpm.add_requires('TestC')
rpm.add_provides('ProvideA')
pkgs.append(rpm)

repo = YumRepoBuild(pkgs)

repo.repoDir = repo_dir

repo.make("noarch")

shutil.rmtree(temp_dir)

shutil.rmtree(os.path.join(repo_dir, 'repodata'))

subprocess.check_call(['createrepo_c', '-g', work_dir + '/comps-f23.xml', repo_dir])

print("DNF repo is located at %s" % repo.repoDir)
if not os.path.exists(temp_dir):
    os.makedirs(temp_dir)


os.chdir(temp_dir)

pkgs = []
rpm = SimpleRpmBuild('TestA', '1.0.0', '1', ['noarch'])
pkgs.append(rpm)

rpm = SimpleRpmBuild('TestA', '3.0.0', '1', ['noarch'])
pkgs.append(rpm)

rpm = SimpleRpmBuild('TestB', '1.0.0', '1', ['noarch'])
rpm.add_provides('TestA = 2.0.0')
rpm.add_obsoletes('TestA < 2.0.0')
pkgs.append(rpm)

rpm = SimpleRpmBuild('TestC', '1.0.0', '1', ['noarch'])
rpm.add_provides('TestA = 4.0.0')
pkgs.append(rpm)

rpm = SimpleRpmBuild('TestD', '1.0.0', '1', ['noarch'])
pkgs.append(rpm)

rpm = SimpleRpmBuild('TestE', '1.0.0', '1', ['noarch'])
rpm.add_provides('TestD = 2.0.0')
rpm.add_obsoletes('TestD < 2.0.0')
pkgs.append(rpm)
Ejemplo n.º 7
0
rpm.add_requires('TestM')
pkgs.append(rpm)
# Used for remove tests. Multiple packages require TestM therefore TestM cannot be removed if package is required by
# other package.

rpm = SimpleRpmBuild('TestM', '1.0.0', '1', ['noarch'])
pkgs.append(rpm)
# Requirement of TestK and TestL.

rpm = SimpleRpmBuild('TestN', '1.0.0', '1', ['noarch'])
pkgs.append(rpm)
# Used in upgrade tests

rpm = SimpleRpmBuild('TestO', '1.0.0', '1', ['noarch'])
rpm.add_requires('TestC')
rpm.add_provides('ProvideA')
pkgs.append(rpm)

repo = YumRepoBuild(pkgs)

repo.repoDir = repo_dir

repo.make("noarch")

shutil.rmtree(temp_dir)

shutil.rmtree(os.path.join(repo_dir, 'repodata'))

subprocess.check_call(
    ['createrepo_c', '-g', work_dir + '/comps-f23.xml', repo_dir])
Ejemplo n.º 8
0
    os.makedirs(repo_dir)

if not os.path.exists(temp_dir):
    os.makedirs(temp_dir)

os.chdir(temp_dir)

pkgs = []
rpm = SimpleRpmBuild('TestA', '1.0.0', '1', ['noarch'])
pkgs.append(rpm)

rpm = SimpleRpmBuild('TestA', '3.0.0', '1', ['noarch'])
pkgs.append(rpm)

rpm = SimpleRpmBuild('TestB', '1.0.0', '1', ['noarch'])
rpm.add_provides('TestA = 2.0.0')
rpm.add_obsoletes('TestA < 2.0.0')
pkgs.append(rpm)

rpm = SimpleRpmBuild('TestC', '1.0.0', '1', ['noarch'])
rpm.add_provides('TestA = 4.0.0')
pkgs.append(rpm)

rpm = SimpleRpmBuild('TestD', '1.0.0', '1', ['noarch'])
pkgs.append(rpm)

rpm = SimpleRpmBuild('TestE', '1.0.0', '1', ['noarch'])
rpm.add_provides('TestD = 2.0.0')
rpm.add_obsoletes('TestD < 2.0.0')
pkgs.append(rpm)