Example #1
0
    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)
Example #2
0
    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)
Example #3
0
    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)
Example #4
0
    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)
Example #5
0
    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)
Example #6
0
    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)