From 0e4ebbe277f14c0784b48c55762a578b6d87ba96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Moreira?= Date: Tue, 11 Feb 2020 14:05:16 -0300 Subject: [PATCH] [aur] new AUR dependencies checking algorithm --- CHANGELOG.md | 1 + bauh/gems/arch/aur.py | 6 +- bauh/gems/arch/config.py | 2 +- bauh/gems/arch/controller.py | 94 ++++++++++++++++++++++++------ bauh/gems/arch/depedencies.py | 22 +++++++ bauh/gems/arch/makepkg.py | 4 +- bauh/gems/arch/resources/locale/ca | 8 ++- bauh/gems/arch/resources/locale/de | 8 ++- bauh/gems/arch/resources/locale/en | 8 ++- bauh/gems/arch/resources/locale/es | 8 ++- bauh/gems/arch/resources/locale/it | 8 ++- bauh/gems/arch/resources/locale/pt | 10 ++-- bauh/view/resources/locale/ca | 4 +- bauh/view/resources/locale/de | 4 +- bauh/view/resources/locale/en | 4 +- bauh/view/resources/locale/es | 4 +- bauh/view/resources/locale/it | 4 +- bauh/view/resources/locale/pt | 4 +- 18 files changed, 149 insertions(+), 54 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7125a3c6..23695e85 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - now every package manager must provide the best upgrade order for all the selected packages ( can be disabled through the settings file **~/.config/bauh/config.yml** or the UI ) - AUR - allowing the user to bypass checksum errors when installing / upgrading / downgrading packages + - improved the way missing dependencies are verified when installing a new package ( the old way was not identifying some missing dependencies of **anbox-git**). It is possible to use the old algorithm ( only pacman-based ) by setting **pacman_dep_check** to **true** in **~/.config/bauh/arch.yml** - UI: - **Settings** available as a tray action as well - minor improvements diff --git a/bauh/gems/arch/aur.py b/bauh/gems/arch/aur.py index 82daa77b..cb07c95a 100644 --- a/bauh/gems/arch/aur.py +++ b/bauh/gems/arch/aur.py @@ -79,11 +79,11 @@ class AURClient: self.logger.info('{p} is based on {b}. Retrieving {b} .SRCINFO'.format(p=info_name, b=info_base)) return self.get_src_info(info_base) - def extract_required_dependencies(self, pkginfo: dict) -> Set[str]: + def extract_required_dependencies(self, srcinfo: dict) -> Set[str]: deps = set() for attr in ('makedepends', 'depends', 'checkdepends'): - if pkginfo.get(attr): - deps.update([pacman.RE_DEP_OPERATORS.split(dep)[0] for dep in pkginfo[attr]]) + if srcinfo.get(attr): + deps.update([pacman.RE_DEP_OPERATORS.split(dep)[0] for dep in srcinfo[attr]]) return deps diff --git a/bauh/gems/arch/config.py b/bauh/gems/arch/config.py index c701ece8..8096737f 100644 --- a/bauh/gems/arch/config.py +++ b/bauh/gems/arch/config.py @@ -3,5 +3,5 @@ from bauh.gems.arch import CONFIG_FILE def read_config(update_file: bool = False) -> dict: - template = {'optimize': True, 'transitive_checking': True, "sync_databases": True} + template = {'optimize': True, 'transitive_checking': True, "sync_databases": True, "pacman_dep_check": False} return read(CONFIG_FILE, template, update_file=update_file) diff --git a/bauh/gems/arch/controller.py b/bauh/gems/arch/controller.py index 13bef3c7..ad7b1fd9 100644 --- a/bauh/gems/arch/controller.py +++ b/bauh/gems/arch/controller.py @@ -533,6 +533,26 @@ class ArchManager(SoftwareManager): return sorted_deps + def _check_missing_deps(self, pkgname: str, mirror: str, srcinfo: dict, watcher: ProcessWatcher) -> Dict[str, str]: + if mirror == 'aur': + missing = {} + + missing_subdeps = self.deps_analyser.get_missing_subdeps(name=pkgname, mirror=mirror, srcinfo=srcinfo) + + if missing_subdeps: + for dep in missing_subdeps: + if not dep[1]: + message.show_dep_not_found(dep[0], self.i18n, watcher) + return + + for dep in missing_subdeps: + missing[dep[0]] = dep[1] + + return missing + else: + # TODO + return [] + def _map_unknown_missing_deps(self, deps: List[str], watcher: ProcessWatcher, check_subdeps: bool = True) -> List[Tuple[str, str]]: depnames = {RE_SPLIT_VERSION.split(dep)[0] for dep in deps} dep_repos = self._map_repos(depnames) @@ -545,31 +565,65 @@ class ArchManager(SoftwareManager): return self._map_known_missing_deps(dep_repos, watcher, check_subdeps) + def _ask_and_install_missing_deps(self, pkgname: str, root_password: str, missing_deps: List[Tuple[str, str]], handler: ProcessHandler) -> bool: + handler.watcher.change_substatus(self.i18n['arch.missing_deps_found'].format(bold(pkgname))) + + if not confirmation.request_install_missing_deps(pkgname, missing_deps, handler.watcher, self.i18n): + handler.watcher.print(self.i18n['action.cancelled']) + return False + + dep_not_installed = self._install_deps(missing_deps, root_password, handler, change_progress=False) + + if dep_not_installed: + message.show_dep_not_installed(handler.watcher, pkgname, dep_not_installed, self.i18n) + return False + + return True + def _handle_deps_and_keys(self, pkgname: str, root_password: str, handler: ProcessHandler, pkgdir: str, check_subdeps: bool = True) -> bool: handler.watcher.change_substatus(self.i18n['arch.checking.deps'].format(bold(pkgname))) - check_res = makepkg.check(pkgdir, optimize=self.local_config['optimize'], handler=handler) + + if not self.local_config['pacman_dep_check']: + with open('{}/.SRCINFO'.format(pkgdir)) as f: + srcinfo = aur.map_srcinfo(f.read()) + + missing_deps = self._check_missing_deps(pkgname=pkgname, mirror='aur', srcinfo=srcinfo, watcher=handler.watcher) + + if missing_deps is None: + return False # it means one of the dependencies could not be found + elif missing_deps and check_subdeps: + missing_deps = self._map_known_missing_deps(known_deps=missing_deps, watcher=handler.watcher) + + if missing_deps is None: + return False # it means one of the dependencies could not be found + + if missing_deps: + if not self._ask_and_install_missing_deps(pkgname=pkgname, + root_password=root_password, + missing_deps=missing_deps, + handler=handler): + return False + + # it is necessary to re-check because missing PGP keys are only notified when there are no missing deps + return self._handle_deps_and_keys(pkgname, root_password, handler, pkgdir, check_subdeps=False) + + check_res = makepkg.check(pkgdir, optimize=self.local_config['optimize'], missing_deps=self.local_config['pacman_dep_check'], handler=handler) if check_res: if check_res.get('missing_deps'): handler.watcher.change_substatus(self.i18n['arch.checking.missing_deps'].format(bold(pkgname))) - sorted_deps = self._map_unknown_missing_deps(check_res['missing_deps'], handler.watcher, check_subdeps=check_subdeps) + missing_deps = self._map_unknown_missing_deps(check_res['missing_deps'], handler.watcher, check_subdeps=check_subdeps) - if sorted_deps is None: + if missing_deps is None: return False - handler.watcher.change_substatus(self.i18n['arch.missing_deps_found'].format(bold(pkgname))) - - if not confirmation.request_install_missing_deps(pkgname, sorted_deps, handler.watcher, self.i18n): - handler.watcher.print(self.i18n['action.cancelled']) + if not self._ask_and_install_missing_deps(pkgname=pkgname, + root_password=root_password, + missing_deps=missing_deps, + handler=handler): return False - dep_not_installed = self._install_deps(sorted_deps, root_password, handler, change_progress=False) - - if dep_not_installed: - message.show_dep_not_installed(handler.watcher, pkgname, dep_not_installed, self.i18n) - return False - - # it is necessary to re-check because missing PGP keys are only notified when there are none missing + # it is necessary to re-check because missing PGP keys are only notified when there are no missing deps return self._handle_deps_and_keys(pkgname, root_password, handler, pkgdir, check_subdeps=False) if check_res.get('gpg_key'): @@ -968,17 +1022,22 @@ class ArchManager(SoftwareManager): self._gen_bool_selector(id_='opts', label_key='arch.config.optimize', tooltip_key='arch.config.optimize.tip', - value=config['optimize'], + value=bool(config['optimize']), + max_width=max_width), + self._gen_bool_selector(id_='pacman_check', + label_key='arch.config.pacman_check', + tooltip_key='arch.config.pacman_check.tip', + value=not bool(config['pacman_dep_check']), max_width=max_width), self._gen_bool_selector(id_='dep_check', label_key='arch.config.trans_dep_check', tooltip_key='arch.config.trans_dep_check.tip', - value=config['transitive_checking'], + value=bool(config['transitive_checking']), max_width=max_width), self._gen_bool_selector(id_='sync_dbs', label_key='arch.config.sync_dbs', tooltip_key='arch.config.sync_dbs.tip', - value=config['sync_databases'], + value=bool(config['sync_databases']), max_width=max_width) ] @@ -991,6 +1050,7 @@ class ArchManager(SoftwareManager): config['optimize'] = form_install.get_component('opts').get_selected() config['transitive_checking'] = form_install.get_component('dep_check').get_selected() config['sync_databases'] = form_install.get_component('sync_dbs').get_selected() + config['pacman_dep_check'] = not form_install.get_component('pacman_check').get_selected() try: save_config(config, CONFIG_FILE) diff --git a/bauh/gems/arch/depedencies.py b/bauh/gems/arch/depedencies.py index 170d8ade..3e248c23 100644 --- a/bauh/gems/arch/depedencies.py +++ b/bauh/gems/arch/depedencies.py @@ -106,3 +106,25 @@ class DependenciesAnalyser: if not subdep[0]: return missing return missing + + def get_missing_subdeps(self, name: str, mirror: str, srcinfo: dict = None) -> List[Tuple[str, str]]: + missing = [] + already_added = {name} + in_analyses = {name} + + if mirror == 'aur': + subdeps = self.aur_client.get_required_dependencies(name) if not srcinfo else self.aur_client.extract_required_dependencies(srcinfo) + else: + subdeps = pacman.read_dependencies(name) + + if subdeps: + missing_subdeps = self.get_missing_packages(subdeps, in_analysis=in_analyses) + + if missing_subdeps: + for subdep in missing_subdeps: # checking if there is any unknown: + if subdep[0] not in already_added: + missing.append(subdep) + + if not subdep[0]: + return missing + return missing diff --git a/bauh/gems/arch/makepkg.py b/bauh/gems/arch/makepkg.py index bc13279f..355017c2 100644 --- a/bauh/gems/arch/makepkg.py +++ b/bauh/gems/arch/makepkg.py @@ -13,7 +13,7 @@ def gen_srcinfo(build_dir: str) -> str: return run_cmd('makepkg --printsrcinfo', cwd=build_dir) -def check(pkgdir: str, optimize: bool, handler: ProcessHandler) -> dict: +def check(pkgdir: str, optimize: bool, missing_deps: bool, handler: ProcessHandler) -> dict: res = {} cmd = ['makepkg', '-ALcf', '--check', '--noarchive', '--nobuild', '--noprepare'] @@ -27,7 +27,7 @@ def check(pkgdir: str, optimize: bool, handler: ProcessHandler) -> dict: success, output = handler.handle_simple(SimpleProcess(cmd, cwd=pkgdir)) - if 'Missing dependencies' in output: + if missing_deps and 'Missing dependencies' in output: res['missing_deps'] = RE_DEPS_PATTERN.findall(output) gpg_keys = RE_UNKNOWN_GPG_KEY.findall(output) diff --git a/bauh/gems/arch/resources/locale/ca b/bauh/gems/arch/resources/locale/ca index 56d0481b..1ca9c500 100644 --- a/bauh/gems/arch/resources/locale/ca +++ b/bauh/gems/arch/resources/locale/ca @@ -104,10 +104,12 @@ arch.aur.install.validity_check.body=Alguns dels fitxers font necessaris per a l arch.aur.install.validity_check.proceed=Voleu continuar de totes maneres? ( no es recomana ) arch.makepkg.optimizing=Optimitzant la recopilació arch.config.optimize=optimize -arch.config.trans_dep_check=check dependencies arch.config.optimize.tip=Optimized settings will be used in order to make the packages installation faster, otherwise the system settings will be used -arch.config.trans_dep_check.tip=If all the package dependencies should be verified before the installation starts. Otherwise they will be discovered during the installation +arch.config.trans_dep_check=Previous dependencies checking +arch.config.trans_dep_check.tip=If all package dependencies should be verified before installation begins, otherwise they will be discovered during installation. arch.sync_databases.substatus=Synchronizing package databases arch.sync_databases.substatus.error=It was not possible to synchronize the package database arch.config.sync_dbs=Synchronize packages databases -arch.config.sync_dbs.tip=Synchronizes the package databases once a day ( or after a device reboot ) before the first package installation, upgrade or downgrade. This option help to prevent errors during these operations. \ No newline at end of file +arch.config.sync_dbs.tip=Synchronizes the package databases once a day ( or after a device reboot ) before the first package installation, upgrade or downgrade. This option help to prevent errors during these operations. +arch.config.pacman_check=Robust dependency checking +arch.config.pacman_check.tip=Whether a more robust dependencies checking should be performed before installing a package. If disabled, only the one provided by pacman will be used. \ No newline at end of file diff --git a/bauh/gems/arch/resources/locale/de b/bauh/gems/arch/resources/locale/de index 0dc46d06..82d66023 100644 --- a/bauh/gems/arch/resources/locale/de +++ b/bauh/gems/arch/resources/locale/de @@ -104,10 +104,12 @@ aur.info.provides=stellt bereit aur.info.conflicts with=Konflikt mit arch.makepkg.optimizing=Optimiert die Zusammenstellung arch.config.optimize=optimize -arch.config.trans_dep_check=check dependencies arch.config.optimize.tip=Optimized settings will be used in order to make the packages installation faster, otherwise the system settings will be used -arch.config.trans_dep_check.tip=If all the package dependencies should be verified before the installation starts. Otherwise they will be discovered during the installation +arch.config.trans_dep_check=Previous dependencies checking +arch.config.trans_dep_check.tip=If all package dependencies should be verified before installation begins, otherwise they will be discovered during installation. arch.sync_databases.substatus=Synchronizing package databases arch.sync_databases.substatus.error=It was not possible to synchronize the package database arch.config.sync_dbs=Synchronize packages databases -arch.config.sync_dbs.tip=Synchronizes the package databases once a day ( or after a device reboot ) before the first package installation, upgrade or downgrade. This option help to prevent errors during these operations. \ No newline at end of file +arch.config.sync_dbs.tip=Synchronizes the package databases once a day ( or after a device reboot ) before the first package installation, upgrade or downgrade. This option help to prevent errors during these operations. +arch.config.pacman_check=Robust dependency checking +arch.config.pacman_check.tip=Whether a more robust dependencies checking should be performed before installing a package. If disabled, only the one provided by pacman will be used. \ No newline at end of file diff --git a/bauh/gems/arch/resources/locale/en b/bauh/gems/arch/resources/locale/en index 13b48011..daed8f46 100644 --- a/bauh/gems/arch/resources/locale/en +++ b/bauh/gems/arch/resources/locale/en @@ -104,10 +104,12 @@ aur.info.provides=provides aur.info.conflicts with=conflicts with arch.makepkg.optimizing=Optimizing the compilation arch.config.optimize=optimize -arch.config.trans_dep_check=check dependencies arch.config.optimize.tip=Optimized settings will be used in order to make the packages installation faster, otherwise the system settings will be used -arch.config.trans_dep_check.tip=If all the package dependencies should be verified before the installation starts. Otherwise they will be discovered during the installation +arch.config.trans_dep_check=Previous dependencies checking +arch.config.trans_dep_check.tip=If all package dependencies should be verified before installation begins, otherwise they will be discovered during installation. arch.sync_databases.substatus=Synchronizing package databases arch.sync_databases.substatus.error=It was not possible to synchronize the package database arch.config.sync_dbs=Synchronize packages databases -arch.config.sync_dbs.tip=Synchronizes the package databases once a day ( or after a device reboot ) before the first package installation, upgrade or downgrade. This option help to prevent errors during these operations. \ No newline at end of file +arch.config.sync_dbs.tip=Synchronizes the package databases once a day ( or after a device reboot ) before the first package installation, upgrade or downgrade. This option help to prevent errors during these operations. +arch.config.pacman_check=Robust dependency checking +arch.config.pacman_check.tip=Whether a more robust dependencies checking should be performed before installing a package. If disabled, only the one provided by pacman will be used. \ No newline at end of file diff --git a/bauh/gems/arch/resources/locale/es b/bauh/gems/arch/resources/locale/es index 2f9ba1ea..d1aa1734 100644 --- a/bauh/gems/arch/resources/locale/es +++ b/bauh/gems/arch/resources/locale/es @@ -104,10 +104,12 @@ arch.aur.install.validity_check.body=Algunos de los archivos fuente necesarios p arch.aur.install.validity_check.proceed=¿Desea continuar de todos modos? ( no recomendado ) arch.makepkg.optimizing=Optimizando la compilación arch.config.optimize=optimizar -arch.config.trans_dep_check=verificar dependencias arch.config.optimize.tip=Se usará una configuración optimizada para acelerar la instalación de los paquetes, de lo contrario se usará la configuración del sistema -arch.config.trans_dep_check.tip=Si todas las dependencias del paquete deben ser verificadas antes de que comience la instalación. De lo contrario, se descubrirán durante la instalación. +arch.config.trans_dep_check=Verificación de dependencias anterior +arch.config.trans_dep_check.tip=Si todas las dependencias del paquete deben ser verificadas antes de que comience la instalación, de lo contrario, se descubrirán durante la instalación. arch.sync_databases.substatus=Sincronizando bases de paquetes arch.sync_databases.substatus.error=No fue posible sincronizar la base de paquetes arch.config.sync_dbs=Sincronizar las bases de paquetes -arch.config.sync_dbs.tip=Sincroniza las bases de paquetes una vez al día ( o cada reinicialización del dispositivo ) antes de la primera instalación, actualización o reversión de un paquete. Esta opción ayuda a prevenir errores durante estas operaciones. \ No newline at end of file +arch.config.sync_dbs.tip=Sincroniza las bases de paquetes una vez al día ( o cada reinicialización del dispositivo ) antes de la primera instalación, actualización o reversión de un paquete. Esta opción ayuda a prevenir errores durante estas operaciones. +arch.config.pacman_check=Verificación de dependencia robusta +arch.config.pacman_check.tip=Si se debe realizar una verificación de dependencias más sólida antes de instalar un paquete. Si desactivada, solo se utilizará la proporcionada por pacman. \ No newline at end of file diff --git a/bauh/gems/arch/resources/locale/it b/bauh/gems/arch/resources/locale/it index c35a8c02..53c8c880 100644 --- a/bauh/gems/arch/resources/locale/it +++ b/bauh/gems/arch/resources/locale/it @@ -72,10 +72,12 @@ arch.aur.install.validity_check.body=Alcuni dei file di origine necessari per l' arch.aur.install.validity_check.proceed=Vuoi continuare comunque? ( non consigliato ) arch.makepkg.optimizing=Ottimizzando la compilazione arch.config.optimize=optimize -arch.config.trans_dep_check=check dependencies arch.config.optimize.tip=Optimized settings will be used in order to make the packages installation faster, otherwise the system settings will be used -arch.config.trans_dep_check.tip=If all the package dependencies should be verified before the installation starts. Otherwise they will be discovered during the installation +arch.config.trans_dep_check=Previous dependencies checking +arch.config.trans_dep_check.tip=If all package dependencies should be verified before installation begins, otherwise they will be discovered during installation. arch.sync_databases.substatus=Synchronizing package databases arch.sync_databases.substatus.error=It was not possible to synchronize the package database arch.config.sync_dbs=Synchronize packages databases -arch.config.sync_dbs.tip=Synchronizes the package databases once a day ( or after a device reboot ) before the first package installation, upgrade or downgrade. This option help to prevent errors during these operations. \ No newline at end of file +arch.config.sync_dbs.tip=Synchronizes the package databases once a day ( or after a device reboot ) before the first package installation, upgrade or downgrade. This option help to prevent errors during these operations. +arch.config.pacman_check=Robust dependency checking +arch.config.pacman_check.tip=Whether a more robust dependencies checking should be performed before installing a package. If disabled, only the one provided by pacman will be used. \ No newline at end of file diff --git a/bauh/gems/arch/resources/locale/pt b/bauh/gems/arch/resources/locale/pt index 5d50ac00..e87a54cb 100644 --- a/bauh/gems/arch/resources/locale/pt +++ b/bauh/gems/arch/resources/locale/pt @@ -103,11 +103,13 @@ arch.aur.install.validity_check.title=Problemas de integridade {} arch.aur.install.validity_check.body=Alguns dos arquivos-fonte necessários para a instalação de {} não estão íntegros. arch.aur.install.validity_check.proceed=Você deseja continuar mesmo assim ? ( não recomendado ) arch.makepkg.optimizing=Otimizando a compilação -arch.config.optimize=otimizar -arch.config.trans_dep_check=verificar dependências +arch.config.optimize=Otimizar arch.config.optimize.tip=Utilizará configurações otimizadas para que a instalação de pacotes seja mais rápida, caso contrário utilizará a do sistema -arch.config.trans_dep_check.tip=Se todas as dependências do pacote devem ser verificadas antes da instalação começar, caso contrário elas serão descobertas durante a instalação +arch.config.trans_dep_check=Verificação prévia de dependências +arch.config.trans_dep_check.tip=Se todas as dependências do pacote devem ser verificadas antes da instalação começar, caso contrário elas serão descobertas durante a instalação. arch.sync_databases.substatus=Sincronizando bases de pacotes arch.sync_databases.substatus.error=Não foi possível sincronizar as bases de pacotes arch.config.sync_dbs=Sincronizar bases de pacotes -arch.config.sync_dbs.tip=Sincroniza as bases de pacotes uma vez ao dia ( ou a cada reinicialização do dispositivo ) antes da primeira instalação, atualização ou reversão de um pacote. Essa opção ajuda a evitar erros durante essa operações. \ No newline at end of file +arch.config.sync_dbs.tip=Sincroniza as bases de pacotes uma vez ao dia ( ou a cada reinicialização do dispositivo ) antes da primeira instalação, atualização ou reversão de um pacote. Essa opção ajuda a evitar erros durante essa operações. +arch.config.pacman_check=Verificação de dependências robusta +arch.config.pacman_check.tip=Se uma verificação de dependências mais robusta deve ser realizada antes da instalação de um pacote. Caso desabilitada, somente a provida pelo pacman será utilizada. diff --git a/bauh/view/resources/locale/ca b/bauh/view/resources/locale/ca index 31fd9909..985c321c 100644 --- a/bauh/view/resources/locale/ca +++ b/bauh/view/resources/locale/ca @@ -256,7 +256,7 @@ core.config.ui.auto_scale.tip=It activates the auto screen scale factor ( {} ). core.config.updates.sort_pkgs=Sort updates core.config.updates.sort_pkgs.tip=Defines the best update order for the selected applications / packages to avoid issues core.config.updates.dep_check=Mostra els requisits d’actualització -core.config.updates.dep_check.tip=Mostra tots els paquets / aplicacions addicionals que cal instal·lar abans de començar a actualitzar els seleccionats +core.config.updates.dep_check.tip=Mostra tots les dependències addicionals que cal instal·lar abans de començar a actualitzar els seleccionats settings.changed.success.warning=Settings successfully changed. Some of them will only take effect after a restart. settings.changed.success.reboot=Restart now ? settings.error=It was not possible to properly change all the settings @@ -272,7 +272,7 @@ download=download clean=netejar action.update.status.sorting=Determinant el millor ordre d’actualització action.update.requirements.title=Requisits d’actualització -action.update.requirements.body=Abans d’actualitzar cal instal·lar les següents {} aplicacions / paquets +action.update.requirements.body=Abans d’actualitzar cal instal·lar les següents {} dependències action.update.install_req.fail.title=Ha fallat la instal·lació action.update.install_req.fail.body=No s'ha pogut instal·lar {} action.update.requirements.status=Verificant els requisits diff --git a/bauh/view/resources/locale/de b/bauh/view/resources/locale/de index 1d9e843b..7f680872 100644 --- a/bauh/view/resources/locale/de +++ b/bauh/view/resources/locale/de @@ -211,7 +211,7 @@ core.config.ui.auto_scale.tip=It activates the auto screen scale factor ( {} ). core.config.updates.sort_pkgs=Sort updates core.config.updates.sort_pkgs.tip=Defines the best update order for the selected applications / packages to avoid issues core.config.updates.dep_check=Show update requirements -core.config.updates.dep_check.tip=Displays all additional applications / packages that need to be installed before starting to update selected ones +core.config.updates.dep_check.tip=Displays all dependencies that need to be installed before starting to update selected ones settings.changed.success.warning=Settings successfully changed. Some of them will only take effect after a restart. settings.changed.success.reboot=Restart now ? settings.error=It was not possible to properly change all the settings @@ -227,7 +227,7 @@ download=download clean=reinigen action.update.status.sorting=Determining the best update order action.update.requirements.title=Upgrade requirements -action.update.requirements.body=The following {} applications / packages must be installed before upgrading +action.update.requirements.body=The following {} dependencies must be installed before upgrading action.update.install_req.fail.title=Installation failed action.update.install_req.fail.body=It was not possible to install {} action.update.requirements.status=Checking requirements diff --git a/bauh/view/resources/locale/en b/bauh/view/resources/locale/en index b2032425..12eb165f 100644 --- a/bauh/view/resources/locale/en +++ b/bauh/view/resources/locale/en @@ -218,7 +218,7 @@ core.config.ui.auto_scale.tip=It activates the auto screen scale factor ( {} ). core.config.updates.sort_pkgs=Sort updates core.config.updates.sort_pkgs.tip=Defines the best update order for the selected applications / packages to avoid issues core.config.updates.dep_check=Show update requirements -core.config.updates.dep_check.tip=Displays all additional applications / packages that need to be installed before starting to update selected ones +core.config.updates.dep_check.tip=Displays all dependencies that need to be installed before starting to update selected ones settings.changed.success.warning=Settings successfully changed. Some of them will only take effect after a restart. settings.changed.success.reboot=Restart now ? settings.error=It was not possible to properly change all the settings @@ -234,7 +234,7 @@ download=download clean=clean action.update.status.sorting=Determining the best update order action.update.requirements.title=Upgrade requirements -action.update.requirements.body=The following {} applications / packages must be installed before upgrading +action.update.requirements.body=The following {} dependencies must be installed before upgrading action.update.install_req.fail.title=Installation failed action.update.install_req.fail.body=It was not possible to install {} action.update.requirements.status=Checking requirements diff --git a/bauh/view/resources/locale/es b/bauh/view/resources/locale/es index 77996069..6da1f891 100644 --- a/bauh/view/resources/locale/es +++ b/bauh/view/resources/locale/es @@ -259,7 +259,7 @@ core.config.ui.auto_scale.tip=Activa el factor de escala de pantalla automática core.config.updates.sort_pkgs=Ordenar actualizaciones core.config.updates.sort_pkgs.tip=Define el mejor orden de actualización para las aplicaciones / paquetes seleccionados para evitar problemas core.config.updates.dep_check=Mostrar requisitos de actualización -core.config.updates.dep_check.tip=Muestra todos los aplicaciones / paquetes adicionales que deben instalarse antes de comenzar a actualizar los seleccionados +core.config.updates.dep_check.tip=Muestra todos las dependencias que deben instalarse antes de comenzar a actualizar los seleccionados settings.changed.success.warning=Las configuraciones se cambiaron con éxito. Algunas solo tendrán efecto después del reinicio. settings.changed.success.reboot=¿Reiniciar ahora? settings.error=No fue posible cambiar correctamente todas las configuraciones @@ -275,7 +275,7 @@ download=descarga clean=limpiar action.update.status.sorting=Determinando el mejor orden de actualización action.update.requirements.title=Requisitos de actualización -action.update.requirements.body=Las siguientes {} aplicaciones / paquetes deben estar instalados antes de actualizar +action.update.requirements.body=Las siguientes {} dependencias deben ser instaladas antes de actualizar action.update.install_req.fail.title=Falló la instalación action.update.install_req.fail.body=No fue posible instalar {} action.update.requirements.status=Verificando los requisitos diff --git a/bauh/view/resources/locale/it b/bauh/view/resources/locale/it index 86d11c50..3e8ecea2 100644 --- a/bauh/view/resources/locale/it +++ b/bauh/view/resources/locale/it @@ -211,7 +211,7 @@ core.config.ui.auto_scale.tip=It activates the auto screen scale factor ( {} ). core.config.updates.sort_pkgs=Sort updates core.config.updates.sort_pkgs.tip=Defines the best update order for the selected applications / packages to avoid issues core.config.updates.dep_check=Mostra i requisiti di aggiornamento -core.config.updates.dep_check.tip=Visualizza tutti i applicazioni / pacchetti aggiuntivi che devono essere installati prima di iniziare ad aggiornare quelli selezionati +core.config.updates.dep_check.tip=Visualizza tutti i dipendenze aggiuntivi che devono essere installati prima di iniziare ad aggiornare quelli selezionati settings.changed.success.warning=Settings successfully changed. Some of them will only take effect after a restart. settings.changed.success.reboot=Restart now ? settings.error=It was not possible to properly change all the settings @@ -227,7 +227,7 @@ download=download clean=pulire action.update.status.sorting=Sto determinando il miglior ordine di aggiornamento action.update.requirements.title=Requisiti di aggiornamento -action.update.requirements.body=Le seguenti {} applicazioni / pacchetti devono essere installati prima dell'aggiornamento +action.update.requirements.body=Le seguenti {} dipendenze devono essere installati prima dell'aggiornamento action.update.install_req.fail.title=Installazione non riuscita action.update.install_req.fail.body=Non è stato possibile installare {} action.update.requirements.status=Verificando i requisiti diff --git a/bauh/view/resources/locale/pt b/bauh/view/resources/locale/pt index 7e04f691..95a1cad1 100644 --- a/bauh/view/resources/locale/pt +++ b/bauh/view/resources/locale/pt @@ -262,7 +262,7 @@ core.config.ui.auto_scale.tip=Ativa o fator de escala automático ( {} ). Corrig core.config.updates.sort_pkgs=Organizar atualizações core.config.updates.sort_pkgs.tip=Define a melhor ordem de atualização para os aplicativos / pacotes selecionados para evitar problemas core.config.updates.dep_check=Mostrar requisitos de atualização -core.config.updates.dep_check.tip=Exibe todos os aplicativos / pacotes adicionais que precisam ser instalados antes de iniciar a atualização dos selecionados +core.config.updates.dep_check.tip=Exibe todos as dependências que precisam ser instalados antes de iniciar a atualização dos selecionados settings.changed.success.warning=Configurações alteradas com sucesso ! Algumas delas só surtirão após a reinicialização. settings.changed.success.reboot=Reiniciar agora ? settings.error=Não foi possível alterar todas as configurações adequadamente @@ -278,7 +278,7 @@ download=download clean=limpar action.update.status.sorting=Determinando a melhor ordem de atualização action.update.requirements.title=Requisitos de atualização -action.update.requirements.body=Os seguintes {} aplicativos / pacotes precisam ser instalados antes de atualizar +action.update.requirements.body=As seguintes {} dependências precisam ser instalados antes de atualizar action.update.install_req.fail.title=Instalação falhou action.update.install_req.fail.body=Não foi possível instalar {} action.update.requirements.status=Verificando requisitos