def remove_package(self, package_name, force=False): """ Remove a package, don't remove if force is False and packages depend on package_name.""" if not self.check_installed(package_name): raise snoing_exceptions.PackageException("Cannot remove, not installed.", package_name) package = self._packages[package_name] if not force: for dependent_name in self._package_dependents(package_name): if self.check_installed(dependent_name): raise snoing_exceptions.PackageException("Cannot remove as %s depends on it." % \ dependent_name, package_name) # If get here then package can be deleted self._logger.set_state("Removing") package.remove()
def migrate_node(proxy_url=None): """Migrate node from Puppet 3.x to 4.x""" import package, puppet, vars vars = vars.Vars() package.remove("puppet facter") sudo("rm -f /etc/apt/sources.list.d/puppetlabs.list") if exists("/var/lib/puppet"): sudo("mv /var/lib/puppet /var/lib/puppet.old.3") if exists("/etc/puppet"): sudo("mv /etc/puppet /etc/puppet.old.3") puppet.setup_agent4(proxy_url=proxy_url) if vars.osfamily == 'Debian': package.autoremove() puppet.resolve_aptitude_conflicts()
def remove_package(self, package_name, force=False): """ Remove a package, don't remove if force is False and packages depend on package_name.""" package = self._packages[package_name] self._logger.set_state("Removing", package_name) if force: package.remove() else: if not self.check_installed(package_name): raise snoing_exceptions.PackageException( "Cannot remove, not installed.", package_name) if not force: for dependent_name in self._package_dependents(package_name): if self.check_installed(dependent_name): raise snoing_exceptions.PackageException("Cannot remove as %s depends on it." % \ dependent_name, package_name) # If get here then package can be deleted package.remove()
def bbsPackage(command): options = args.getoptions() # Perform a catalog upgrade if required if package.upgrade(): return True # Do nothing, only for perform package upgrade if command == 'package': print('Success...') return True # Use local catalog for installation/updates if 'local' in options: package.remotecatalog = package.getRemoteCatalog(True) package.updatelist = package.getAvailableUpdates(package.localcatalog, package.remotecatalog) # Install if command == 'install' and args.count() != 0: return package.install(args.get(count=-1), options) # Remote File List if command == 'ls': if 'remote' in options: return package.remotelist(args.get(count=-1), options) else: return package.localist(args.get(count=-1), options) # Update packages if command == 'update': return package.update(args.get(count=-1), options) # Remove if command == 'remove': if args.count() != 0: return package.remove(args.get(count=-1), options) elif 'all' in options: return package.remove('', options) # Show Help bbsHelp() return