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)))
def makeFakeRPM(repo_dir, name, epoch, version, release, files=None): """Make a fake rpm file in repo_dir""" 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")) with in_tempdir("lorax-test-rpms."): p.make() rpmfile = p.get_built_rpm(expectedArch) shutil.move(rpmfile, repo_dir)
def main(): try: arch = sys.argv[1] except IndexError: arch = 'x86_64' pkgs = [] for spec in SPECS: pkg = SimpleRpmBuild(spec.name, spec.version, spec.release, [arch]) pkg.epoch = spec.epoch if spec.recommends: # Skip packages that require weak deps but an older version of RPM is being used if not can_use_rpm_weak_deps or not can_use_rpm_weak_deps(): continue for recommend in spec.recommends: pkg.add_recommends(recommend) pkgs.append(pkg) repo = YumRepoBuild(pkgs) repo.make(arch) for pkg in pkgs: pkg.clean() print(repo.repoDir)
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
def _create_fake_rpm(temp_dir): rpm = SimpleRpmBuild(name="test-rpm", version="200", release="9000") rpm.add_installed_file(installPath="/usr/bin/TEST", sourceFile=SourceFile(sourceName="TEST", content="SO AWESOME APP!")) with switch_workdir(temp_dir): rpm.make() rpm_rel_path = rpm.get_built_rpm(ARCH) return os.path.join(temp_dir, rpm_rel_path)
def create_repo(arch='x86_64'): pkgs = [] for spec in SPECS: pkg = SimpleRpmBuild(spec.name, spec.version, spec.release, [spec.arch or arch]) pkg.epoch = spec.epoch if spec.recommends: # Skip packages that require weak deps but an older version of RPM is being used if not can_use_rpm_weak_deps or not can_use_rpm_weak_deps(): continue for recommend in spec.recommends: pkg.add_recommends(recommend) pkgs.append(pkg) # HACK: EPEL6 version of rpmfluff can't do multi-arch packaging, so we'll just build separately and copy # the noarch stuff in, since we don't currently care about the repodata for noarch if sys.version_info[0:2] == (2, 6): noarch_repo = YumRepoBuild( [p for p in pkgs if 'noarch' in p.get_build_archs()]) noarch_repo.make('noarch') repo = YumRepoBuild([p for p in pkgs if arch in p.get_build_archs()]) repo.make(arch) subprocess.call("cp {0}/*.rpm {1}".format(noarch_repo.repoDir, repo.repoDir), shell=True) else: repo = YumRepoBuild(pkgs) repo.make(arch, 'noarch') for pkg in pkgs: pkg.clean() return repo.repoDir
work_dir = os.path.dirname(work_file) file_base_mane = PurePosixPath(work_file).stem repo_dir = os.path.join(work_dir, file_base_mane) temp_dir = os.path.join(repo_dir, 'temp') if not os.path.exists(repo_dir): 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']) rpm.add_requires('TestB') rpm.add_group('Testgroup') pkgs.append(rpm) # Used for install remove tests if requirement TestB is handled properly. rpm = SimpleRpmBuild('TestA-debuginfo', '1.0.0', '1', ['noarch']) pkgs.append(rpm) # Used for install debuginfo and test pluginconfpath. rpm = SimpleRpmBuild('TestB', '1.0.0', '1', ['noarch']) pkgs.append(rpm) # Requirement of TestA rpm = SimpleRpmBuild('TestB-debuginfo', '1.0.0', '1', ['noarch']) pkgs.append(rpm)
work_dir = os.path.dirname(work_file) file_base_mane = PurePosixPath(work_file).stem repo_dir = os.path.join(work_dir, file_base_mane) temp_dir = os.path.join(repo_dir, 'temp') if not os.path.exists(repo_dir): 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'])
work_file = os.path.realpath(__file__) work_dir = os.path.dirname(work_file) file_base_mane = PurePosixPath(work_file).stem repo_dir = os.path.join(work_dir, file_base_mane) temp_dir = os.path.join(repo_dir, 'temp') if not os.path.exists(repo_dir): 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']) rpm.add_requires('(TestB or TestC)') rpm.add_recommends('TestC') pkgs.append(rpm) rpm = SimpleRpmBuild('TestB', '1.0.0', '1', ['noarch']) pkgs.append(rpm) rpm = SimpleRpmBuild('TestC', '1.0.0', '1', ['noarch']) pkgs.append(rpm) repo = YumRepoBuild(pkgs) repo.repoDir = repo_dir repo.make("noarch")
work_dir = os.path.dirname(work_file) file_base_mane = PurePosixPath(work_file).stem repo_dir = os.path.join(work_dir, file_base_mane) temp_dir = os.path.join(repo_dir, 'temp') if not os.path.exists(repo_dir): 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']) rpm.add_requires('TestB') pkgs.append(rpm) # Used for install remove tests if requirement TestB is handled properly. rpm = SimpleRpmBuild('TestA', '1.0.0', '2', ['noarch']) rpm.add_requires('TestB') pkgs.append(rpm) # Used for upgrade tests rpm = SimpleRpmBuild('TestB', '1.0.0', '1', ['noarch']) pkgs.append(rpm) # Requirement of TestA rpm = SimpleRpmBuild('TestB', '1.0.0', '2', ['noarch']) pkgs.append(rpm)
work_dir = os.path.dirname(work_file) file_base_mane = PurePosixPath(work_file).stem repo_dir = os.path.join(work_dir, file_base_mane) temp_dir = os.path.join(repo_dir, 'temp') if not os.path.exists(repo_dir): 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']) rpm.add_requires('(TestB or TestC)') rpm.add_recommends('TestC') pkgs.append(rpm) rpm = SimpleRpmBuild('TestB', '1.0.0', '1', ['noarch']) pkgs.append(rpm) rpm = SimpleRpmBuild('TestC', '1.0.0', '1', ['noarch']) pkgs.append(rpm) repo = YumRepoBuild(pkgs) repo.repoDir = repo_dir repo.make("noarch")
work_file = os.path.realpath(__file__) work_dir = os.path.dirname(work_file) file_base_mane = PurePosixPath(work_file).stem repo_dir = os.path.join(work_dir, file_base_mane) temp_dir = os.path.join(repo_dir, 'temp') if not os.path.exists(repo_dir): 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']) rpm.add_requires('TestB') rpm.add_group('Testgroup') pkgs.append(rpm) # Used for install remove tests if requirement TestB is handled properly. rpm = SimpleRpmBuild('TestB', '1.0.0', '1', ['noarch']) pkgs.append(rpm) # Requirement of TestA rpm = SimpleRpmBuild('TestC', '1.0.0', '1', ['noarch']) rpm.add_group('Testgroup') pkgs.append(rpm) # Used for install remove tests as a negative control - should not be installed if you install TestA. rpm = SimpleRpmBuild('TestD', '1.0.0', '1', ['noarch'])
work_dir = os.path.dirname(work_file) file_base_mane = PurePosixPath(work_file).stem repo_dir = os.path.join(work_dir, file_base_mane) temp_dir = os.path.join(repo_dir, 'temp') if not os.path.exists(repo_dir): 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']) rpm.add_requires('(TestB and (TestC if TestD))') pkgs.append(rpm) rpm = SimpleRpmBuild('TestB', '1.0.0', '1', ['noarch']) pkgs.append(rpm) rpm = SimpleRpmBuild('TestC', '1.0.0', '1', ['noarch']) pkgs.append(rpm) rpm = SimpleRpmBuild('TestD', '1.0.0', '1', ['noarch']) pkgs.append(rpm) repo = YumRepoBuild(pkgs) repo.repoDir = repo_dir
work_file = os.path.realpath(__file__) work_dir = os.path.dirname(work_file) file_base_mane = PurePosixPath(work_file).stem repo_dir = os.path.join(work_dir, file_base_mane) temp_dir = os.path.join(repo_dir, 'temp') if not os.path.exists(repo_dir): 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']) rpm.add_requires('(TestC if (TestB or TestD))') pkgs.append(rpm) rpm = SimpleRpmBuild('TestB', '1.0.0', '1', ['noarch']) pkgs.append(rpm) rpm = SimpleRpmBuild('TestC', '1.0.0', '1', ['noarch']) pkgs.append(rpm) rpm = SimpleRpmBuild('TestD', '1.0.0', '1', ['noarch']) pkgs.append(rpm) repo = YumRepoBuild(pkgs) repo.repoDir = repo_dir
work_file = os.path.realpath(__file__) work_dir = os.path.dirname(work_file) file_base_mane = PurePosixPath(work_file).stem repo_dir = os.path.join(work_dir, file_base_mane) temp_dir = os.path.join(repo_dir, 'temp') if not os.path.exists(repo_dir): 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'])
work_dir = os.path.dirname(work_file) file_base_mane = PurePosixPath(work_file).stem repo_dir = os.path.join(work_dir, file_base_mane) temp_dir = os.path.join(repo_dir, 'temp') if not os.path.exists(repo_dir): 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']) rpm.add_requires('(TestC if (TestB or TestD))') pkgs.append(rpm) rpm = SimpleRpmBuild('TestB', '1.0.0', '1', ['noarch']) pkgs.append(rpm) rpm = SimpleRpmBuild('TestC', '1.0.0', '1', ['noarch']) pkgs.append(rpm) rpm = SimpleRpmBuild('TestD', '1.0.0', '1', ['noarch']) pkgs.append(rpm) repo = YumRepoBuild(pkgs) repo.repoDir = repo_dir
work_dir = os.path.dirname(work_file) file_base_mane = PurePosixPath(work_file).stem repo_dir = os.path.join(work_dir, file_base_mane) temp_dir = os.path.join(repo_dir, 'temp') if not os.path.exists(repo_dir): 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']) rpm.add_requires('(TestB and ((TestC or TestE) if TestD))') pkgs.append(rpm) rpm = SimpleRpmBuild('TestB', '1.0.0', '1', ['noarch']) pkgs.append(rpm) rpm = SimpleRpmBuild('TestC', '1.0.0', '1', ['noarch']) pkgs.append(rpm) rpm = SimpleRpmBuild('TestD', '1.0.0', '1', ['noarch']) pkgs.append(rpm) rpm = SimpleRpmBuild('TestE', '1.0.0', '1', ['noarch']) pkgs.append(rpm)