def perform_operation(self): utils.xterm_title("(%s/%s) lpms: merging %s/%s-%s from %s" % (self.environment.index, self.environment.count, self.environment.category, self.environment.name, self.environment.version, self.environment.repo)) # create $info_file_name.gz archive and remove info file self.create_info_archive() # merge the package self.merge_package() # clean the previous version if it is exists self.clean_obsolete_content() # write to database self.write_db() # create or update /usr/share/info/dir self.update_info_index() if self.backup: out.write("%s%s configuration file changed. Use %s to fix these files.\n" % (out.color(" > ", "green"), len(self.backup), \ out.color("merge-conf", "red"))) if shelltools.is_exists(cst.lock_file): shelltools.remove_file(cst.lock_file) return True, self.environment
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)
def isexists(target): return shelltools.is_exists(target)