Пример #1
0
def do_remove(repo_dir, pkg_path):
    mdgen = MetaDataGenerator(setup_metadata_conf(repo_dir))
    try:
        print("Removing package %s from repodir %s" % (pkg_path, repo_dir))
        remove_metadata(repo_dir, pkg_path)
        mdgen.doRepoMetadata()
        mdgen.doFinalMove()
    except (IOError, OSError), e:
        raise utils.MDError, ('Cannot access/write repodata files: %s') % e
Пример #2
0
 def final_repodata_move(self):
     # setup the yum config to do the final steps of generating sqlite db files
     try:
         mdgen = MetaDataGenerator(self.metadata_conf)
         mdgen.doRepoMetadata()
         # do the final move to the repodata location from .repodata
         mdgen.doFinalMove()
     except:
         # might have missing metadata count not perform final move
         _LOG.error("Error performing final move, could be missing pkg metadata files")
Пример #3
0
def do_add(repo_dir, pkg_path):
    mdgen = MetaDataGenerator(setup_metadata_conf(repo_dir))
    try:
#        mdgen._setup_old_metadata_lookup()
        print("Adding package %s to repodir %s" % (pkg_path, repo_dir))
        add_metadata(repo_dir, pkg_path)
        mdgen.doRepoMetadata()
        mdgen.doFinalMove()
    except (IOError, OSError), e:
        raise utils.MDError, ('Cannot access/write repodata files: %s') % e
Пример #4
0
 def run(self):
     """
     Invokes the metadata generation by taking a backup of existing repodata;
     looking up units and merging the per unit snippets; generate sqlite db,
     repomd files using createrepo apis and finally merge back any other
     """
     # backup existing repodata dir
     self._backup_existing_repodata()
     # extract the per rpm unit metadata and merge to create package xml data
     self.merge_unit_metadata()
     # setup the yum config to do the final steps of generating sqlite db files
     mdgen = MetaDataGenerator(self.metadata_conf)
     mdgen.doRepoMetadata()
     # do the final move to the repodata location from .repodata
     mdgen.doFinalMove()
     # lookup and merge updateinfo, comps and other metadata
     self.merge_comps_xml()
     self.merge_updateinfo_xml()
     # merge any custom metadata stored on the scratchpad, this includes prestodelta
     self.merge_custom_repodata()
Пример #5
0
def do_remove(repo_dir, pkg_path):
    mdgen = MetaDataGenerator(setup_metadata_conf(repo_dir))
    try:
        print("Removing package %s from repodir %s" % (pkg_path, repo_dir))
        remove_metadata(repo_dir, pkg_path)
        mdgen.doRepoMetadata()
        mdgen.doFinalMove()
    except (IOError, OSError), e:
        raise utils.MDError, ('Cannot access/write repodata files: %s') % e
Пример #6
0
def do_add(repo_dir, pkg_path):
    mdgen = MetaDataGenerator(setup_metadata_conf(repo_dir))
    try:
        #        mdgen._setup_old_metadata_lookup()
        print("Adding package %s to repodir %s" % (pkg_path, repo_dir))
        add_metadata(repo_dir, pkg_path)
        mdgen.doRepoMetadata()
        mdgen.doFinalMove()
    except (IOError, OSError), e:
        raise utils.MDError, ('Cannot access/write repodata files: %s') % e
Пример #7
0
def add_package_to_repo(repodir, packages):
    
    mdgen = MetaDataGenerator(setup_metadata_conf(repodir))
    try:
        mdgen._setup_old_metadata_lookup()
        all_packages = mdgen.getFileList(mdgen.package_dir, '.rpm') + packages
        mdgen.pkgcount = len(all_packages)
        mdgen.openMetadataDocs()
        mdgen.writeMetadataDocs(all_packages)
        mdgen.closeMetadataDocs()
        mdgen.doRepoMetadata()
        mdgen.doFinalMove()
    except (IOError, OSError), e:
        raise utils.MDError, ('Cannot access/write repodata files: %s') % e
Пример #8
0
def add_package_to_repo(repodir, packages):

    mdgen = MetaDataGenerator(setup_metadata_conf(repodir))
    try:
        mdgen._setup_old_metadata_lookup()
        all_packages = mdgen.getFileList(mdgen.package_dir, '.rpm') + packages
        mdgen.pkgcount = len(all_packages)
        mdgen.openMetadataDocs()
        mdgen.writeMetadataDocs(all_packages)
        mdgen.closeMetadataDocs()
        mdgen.doRepoMetadata()
        mdgen.doFinalMove()
    except (IOError, OSError), e:
        raise utils.MDError, ('Cannot access/write repodata files: %s') % e