Ejemplo n.º 1
0
 def __init__(self, environment):
     self.symlinks = []
     self.backup = []
     self.environment = environment
     self.instdb = api.InstallDB()
     self.repodb = api.RepositoryDB()
     self.conf = conf.LPMSConfig()
     self.info_files = []
     self.previous_files = []
     self.filesdb = api.FilesDB()
     self.file_relationsdb = api.FileRelationsDB()
     self.reverse_dependsdb = api.ReverseDependsDB()
     self.binary_filetypes = ('application/x-executable', 'application/x-archive', \
             'application/x-sharedlib')
     self.merge_conf_file = os.path.join(self.environment.real_root, \
             cst.merge_conf_file)
     self.previous_files = self.filesdb.get_paths_by_package(self.environment.name, \
             repo=self.environment.repo, category=self.environment.category, \
             version=self.environment.previous_version)
     # Unfortunately, this seems very ugly :(
     self.strip_debug_symbols = True if self.environment.no_strip is not None and \
             ((self.environment.applied_options is not None and \
             "debug" in self.env.applied_options) or \
             utils.check_cflags("-g") or utils.check_cflags("-ggdb") \
             or utils.check_cflags("-g3")) else False
Ejemplo n.º 2
0
def main(pkgname, real_root):
    instdb = dbapi.InstallDB()
    filesdb = dbapi.FilesDB()

    # start remove operation
    repo, category, name, version = pkgname
    # initialize remove class
    rmpkg = Remove(repo, category, name, version, real_root)
    
    lpms.logger.info("removing %s/%s/%s-%s from %s" % \
            (repo, category, name, version, rmpkg.real_root))
    out.normal("removing %s/%s/%s-%s from %s" % \
            (repo, category, name, version, rmpkg.real_root))
    
    # remove the package content
    rmpkg.remove_content()
    # remove entries from the database
    package_id = instdb.find_package(package_repo=repo, package_category=category, \
            package_name=name, package_version=version).get(0).id
    instdb.database.delete_build_info(package_id)
    instdb.delete_conditional_versions(package_id=package_id)
    instdb.delete_inline_options(package_id=package_id)
    instdb.delete_package(package_repo=repo, package_category=category, \
            package_name=name, package_version=version, commit=True)
    # remove paths from files table
    filesdb.delete_item_by_pkgdata(category, name, version, commit=True)
    # unlock
    if shelltools.is_exists(cst.lock_file):
        shelltools.remove_file(cst.lock_file)
Ejemplo n.º 3
0
 def __init__(self, repo, category, name, version, real_root):
     self.repo = repo
     self.category = category
     self.name = name
     self.version = version
     self.real_root = real_root
     if self.real_root is None:
         self.real_root = cst.root
     self.filesdb = dbapi.FilesDB()
Ejemplo n.º 4
0
 def __init__(self, category, name, slot, version=None, \
         real_root=None, source_dir=None):
     self.real_root = real_root
     self.files_and_links = {}
     self.source_dir = source_dir
     self.filesdb = api.FilesDB()
     self.prepare_files_and_links()
     self.orphans = []
     self.collisions = []
     self.name = name
     self.category = category
     self.slot = slot
     self.version = version
     self.symlinks = []
Ejemplo n.º 5
0
 def __init__(self, pkgname):
     self.pkgname = pkgname
     self.filesdb = api.FilesDB()
     self.instdb = api.InstallDB()
Ejemplo n.º 6
0
 def __init__(self, keyword):
     self.keyword = keyword
     self.filesdb = api.FilesDB()
     self.instdb = api.InstallDB()