def testBackupPackages(self): backup_target = snap.backends.packages.syum.Syum() backup_target.backup(self.fs_root) pkgs = [] record = PackagesRecordFile(self.fs_root + "/packages.xml") record_packages = record.read() for pkg in record_packages: pkgs.append(pkg.name) # ensure all the system's packages have been encoded and recorded for pkg in yum.YumBase().rpmdb: encoded = PackageRegistry.encode('yum', pkg.name) self.assertIn(encoded, pkgs)
def testBackupPackages(self): backup_target = snap.backends.packages.sapt.Sapt() backup_target.backup(self.fs_root) pkgs = [] record = PackagesRecordFile(self.fs_root + "/packages.xml") record_packages = record.read() for pkg in record_packages: pkgs.append(pkg.name) # ensure all the system's packages have been recorded for pkg in apt.Cache(): if pkg.is_installed: encoded = PackageRegistry.encode('apt', pkg.name) self.assertIn(encoded, pkgs)
def testBackupPackages(self): backup_target = snap.backends.packages.sapt.Sapt() backup_target.backup(self.fs_root) pkgs = [] record = PackagesRecordFile(self.fs_root + "/packages.xml") record_packages = record.read() for pkg in record_packages: pkgs.append(pkg.name) # ensure all the system's packages have been recorded for pkg in apt.Cache(): if pkg.is_installed: encoded = PackageRegistry.encode('apt', pkg.name) self.assertIn(encoded, pkgs)
def testRestorePackages(self): restore_target = snap.backends.packages.sapt.Sapt() restore_target.backup(self.fs_root) restore_target.fs_root = self.fs_root restore_target.restore(self.fs_root) record = PackagesRecordFile(self.fs_root + "/packages.xml") record_packages = record.read() record_package_names = [] for pkg in record_packages: record_package_names.append(pkg.name) cache = apt.Cache() cache.open(None) for pkg in cache: if pkg.is_installed: encoded = PackageRegistry.encode('apt', pkg.name) self.assertIn(encoded, record_package_names)
def backup(self, basedir, include=[], exclude=[]): '''backup the packages installed locally''' if snap.config.options.log_level_at_least('verbose'): snap.callback.snapcallback.message("Backing up packages using yum backend"); # retrieve installed packages packages=[] packagenames = set() for pkg in self.yum.rpmdb: if not pkg.name in packagenames: if snap.config.options.log_level_at_least('verbose'): snap.callback.snapcallback.message("Backing up package " + pkg.name); packagenames.add(pkg.name) encoded_pkgname = PackageRegistry.encode('yum', pkg.name) packages.append(Package(encoded_pkgname, pkg.version)) # write record file to basedir record = PackagesRecordFile(basedir + "/packages.xml") record.write(packages)
def testRestorePackages(self): restore_target = snap.backends.packages.sapt.Sapt() restore_target.backup(self.fs_root) restore_target.fs_root = self.fs_root restore_target.restore(self.fs_root) record = PackagesRecordFile(self.fs_root + "/packages.xml") record_packages = record.read() record_package_names = [] for pkg in record_packages: record_package_names.append(pkg.name) cache = apt.Cache() cache.open(None) for pkg in cache: if pkg.is_installed: encoded = PackageRegistry.encode('apt', pkg.name) self.assertIn(encoded, record_package_names)