def main(args): (opts, parser) = parse_arguments(args) try: conf = AutomaticConfig(opts.conf_path, opts.downloadupdates, opts.installupdates) with dnf.Base() as base: cli = dnf.cli.Cli(base) cli._read_conf_file() # Although dnf-automatic does not use demands, the versionlock # plugin uses this demand do decide whether it's rules should # be applied. # https://bugzilla.redhat.com/show_bug.cgi?id=1746562 cli.demands.resolving = True conf.update_baseconf(base.conf) base.init_plugins(cli=cli) logger.debug(_('Started dnf-automatic.')) if opts.timer: sleeper = random.randint(0, conf.commands.random_sleep) logger.debug(_('Sleep for %s seconds'), sleeper) time.sleep(sleeper) base.pre_configure_plugins() base.read_all_repos() if not wait_for_network(base.repos, conf.commands.network_online_timeout): logger.warning(_('System is off-line.')) base.configure_plugins() base.fill_sack() upgrade(base, conf.commands.upgrade_type) base.resolve() output = dnf.cli.output.Output(base, base.conf) trans = base.transaction if not trans: return 0 lst = output.list_transaction(trans, total_width=80) emitters = build_emitters(conf) emitters.notify_available(lst) if not conf.commands.download_updates: emitters.commit() return 0 base.download_packages(trans.install_set) emitters.notify_downloaded() if not conf.commands.apply_updates: emitters.commit() return 0 gpgsigcheck(base, trans.install_set) base.do_transaction() emitters.notify_applied() emitters.commit() except dnf.exceptions.Error as exc: logger.error(_('Error: %s'), ucd(exc)) return 1 return 0
def main(args): (opts, parser) = parse_arguments(args) try: conf = AutomaticConfig(opts.conf_path, opts.downloadupdates, opts.installupdates) with dnf.Base() as base: cli = dnf.cli.Cli(base) cli._read_conf_file() conf.update_baseconf(base.conf) base.init_plugins(cli=cli) logger.debug(_('Started dnf-automatic.')) if opts.timer: sleeper = random.randint(0, conf.commands.random_sleep) logger.debug(_('Sleep for %s seconds'), sleeper) time.sleep(sleeper) base.pre_configure_plugins() base.read_all_repos() base.configure_plugins() base.fill_sack() upgrade(base, conf.commands.upgrade_type) base.resolve() output = dnf.cli.output.Output(base, base.conf) trans = base.transaction if not trans: return 0 lst = output.list_transaction(trans) emitters = build_emitters(conf) emitters.notify_available(lst) if not conf.commands.download_updates: emitters.commit() return 0 base.download_packages(trans.install_set) emitters.notify_downloaded() if not conf.commands.apply_updates: emitters.commit() return 0 base.do_transaction() emitters.notify_applied() emitters.commit() except dnf.exceptions.Error as exc: logger.error(_('Error: %s'), ucd(exc)) return 1 return 0
def main(args): (opts, parser) = parse_arguments(args) try: conf = AutomaticConfig(opts.conf_path, opts.downloadupdates, opts.installupdates) with dnf.Base() as base: cli = dnf.cli.Cli(base) cli._read_conf_file() conf.update_baseconf(base.conf) base.init_plugins(cli=cli) logger.debug('Started dnf-automatic.') if opts.timer: sleeper = random.randint(0, conf.commands.random_sleep) logger.debug('Sleep for %s seconds', sleeper) time.sleep(sleeper) base.pre_configure_plugins() base.read_all_repos() base.configure_plugins() base.fill_sack() upgrade(base, conf.commands.upgrade_type) base.resolve() output = dnf.cli.output.Output(base, base.conf) trans = base.transaction if not trans: return 0 lst = output.list_transaction(trans) emitters = build_emitters(conf) emitters.notify_available(lst) if not conf.commands.download_updates: emitters.commit() return 0 base.download_packages(trans.install_set) emitters.notify_downloaded() if not conf.commands.apply_updates: emitters.commit() return 0 base.do_transaction() emitters.notify_applied() emitters.commit() except dnf.exceptions.Error as exc: logger.error(_('Error: %s'), ucd(exc)) return 1 return 0
def main(args): conf_fn = dnf.const.CONF_AUTOMATIC_FILENAME if len(args) == 1: conf_fn = args[0] elif len(args) > 1: return synopsis() try: conf = AutomaticConfig(conf_fn) with dnf.Base() as base: cli = dnf.cli.Cli(base) cli.read_conf_file(conf.commands.base_config_file, overrides=conf.base_overrides) base_conf = base.conf base_conf.cachedir, _alt_dir = dnf.cli.cli.cachedir_fit(base_conf) logger.debug('Started dnf-automatic.') base.read_all_repos() base.fill_sack() upgrade(base, conf.commands.upgrade_type) base.resolve() output = dnf.cli.output.Output(base, base.conf) trans = base.transaction if not trans: return 0 lst = output.list_transaction(trans) emitters = build_emitters(conf) emitters.notify_available(lst) if not conf.commands.download_updates: emitters.commit() return 0 sleep(random.randint(random_sleep(conf.command.random_sleep))) base.download_packages(trans.install_set) emitters.notify_downloaded() if not conf.commands.apply_updates: emitters.commit() return 0 base.do_transaction() emitters.notify_applied() emitters.commit() except dnf.exceptions.Error as exc: logger.error(_('Error: %s'), ucd(exc)) return 1 return 0
def main(args): conf_fn = dnf.const.CONF_AUTOMATIC_FILENAME if len(args) == 1: conf_fn = args[0] elif len(args) > 1: return synopsis() try: conf = AutomaticConfig(conf_fn) with dnf.Base() as base: cli = dnf.cli.Cli(base) cli.read_conf_file(conf.commands.base_config_file, overrides=conf.base_overrides) base_conf = base.conf base_conf.cachedir, _alt_dir = dnf.cli.cli.cachedir_fit(base_conf) logger.debug('Started dnf-automatic.') base.read_all_repos() base.fill_sack() upgrade(base, conf.commands.upgrade_type) base.resolve() output = dnf.cli.output.Output(base, base.conf) trans = base.transaction if not trans: return 0 lst = output.list_transaction(trans) emitters = build_emitters(conf) emitters.notify_available(lst) if not conf.commands.download_updates: emitters.commit() return 0 base.download_packages(trans.install_set) emitters.notify_downloaded() if not conf.commands.apply_updates: emitters.commit() return 0 base.do_transaction() emitters.notify_applied() emitters.commit() except dnf.exceptions.Error as exc: logger.error(_('Error: %s'), ucd(exc)) return 1 return 0