diff --git a/CHANGELOG.md b/CHANGELOG.md index 19e89166..f394ff33 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). -## [0.7.3] 2019- +## [0.7.3] 2019-11 ### Improvements - Not breaking the application when a i18n (translation) key was not found - Adding all english (**en**) i18n keys to help people with the application translation @@ -13,6 +13,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - AUR - The optimized **makepkg.conf** file is now generated at **~/.config/bauh/arch/makepkg.conf** and passed as a parameter during package builds to not provoke the auto-merge of **/etc/makepkg.conf** and the old generated **~/.makepkg.conf**. (P.S: if your **~/.makepkg.conf** was generated by bauh, consider deleting it as it will be useless for bauh now and may impact your other Arch compilation tools). Behavior discussed in [#30](https://github.com/vinifmor/bauh/issues/30). + - Now AUR packages are enabled by default, but a warning is displayed in the installation dialog + - New package suggestions - Caching Snap and Flatpak suggestions [#23](https://github.com/vinifmor/bauh/issues/23) - i18n: - Catalan contributions by [fitojb](https://github.com/fitojb) diff --git a/README.md b/README.md index 1062cafe..d2654fb5 100644 --- a/README.md +++ b/README.md @@ -94,25 +94,6 @@ In order to autostart the application, use your Desktop Environment settings to #### Snap ( snap ) - The user is able to search, install, uninstall, refresh, launch and downgrade applications -#### AUR ( arch ) -- It is **not enabled by default** -- The user is able to search, install, uninstall, downgrade, launch and retrieve the packages history -- It handles conflicts, and missing / optional packages installations ( including from your distro mirrors ) -- If [**aria2**](https://github.com/aria2/aria2) is installed on your system and multi-threaded downloads are enabled ( see **BAUH_DOWNLOAD_MULTITHREAD** ), the source packages -will be pre-downloaded faster ( it does **NOT** modify your **pacman** settings ). -- Automatically makes simple package compilation improvements: - - a) if **MAKEFLAGS** is not set in **/etc/makepkg.conf** and **~/.makepkg.conf** does not exist, - then a copy of **/etc/makepkg.conf** will be generated at **~/.makepkg.conf** defining MAKEFLAGS to work with - the number of your machine processors (**-j${nproc}**). - - b) same as previous, but related to **COMPRESSXZ** definition ( if '--threads=0' is not defined ) - - Obs: this feature can be disabled through the environment variable **BAUH_ARCH_OPTIMIZE=0** - ( For more information about these optimizations, check: https://wiki.archlinux.org/index.php/Makepkg ) -- Arch package memory-indexer running every 20 minutes. This memory index is used when AUR Api cannot handle the amount of results found for a given search. It can be disabled via the environment variable **BAUH_ARCH_AUR_INDEX_UPDATER=0**. -- If some of your installed packages are not categorized, send an e-mail to **bauh4linux@gmail.com** informing their names and categories in the following format: ```name=category1[,category2,category3,...]``` - #### AppImage ( appimage ) - The user is able to search, install, uninstall, downgrade, launch and retrieve the applications history - Supported sources: [AppImageHub](https://appimage.github.io) ( **applications with no releases published to GitHub are currently not available** ) @@ -125,6 +106,24 @@ will be pre-downloaded faster ( it does **NOT** modify your **pacman** settings Obs: There are some crashes when **AppImageLauncher** is installed. It is advisable to uninstall it and reboot the system before trying to install an AppImage application. +#### AUR ( arch ) +- The user is able to search, install, uninstall, downgrade, launch and retrieve the packages history +- It handles conflicts, and missing / optional packages installations ( including from your distro mirrors ) +- If [**aria2**](https://github.com/aria2/aria2) is installed on your system and multi-threaded downloads are enabled ( see **BAUH_DOWNLOAD_MULTITHREAD** ), the source packages +will be pre-downloaded faster ( it does **NOT** modify your **pacman** settings ). +- Automatically makes simple package compilation improvements: + + a) if **MAKEFLAGS** is not set in **/etc/makepkg.conf**, + then a copy of **/etc/makepkg.conf** will be generated at **~/.config/bauh/arch/makepkg.conf** defining MAKEFLAGS to work with + the number of your machine processors (**-j${nproc}**). + + b) same as previous, but related to **COMPRESSXZ** definition ( if '--threads=0' is not defined ) + + Obs: this feature can be disabled through the environment variable **BAUH_ARCH_OPTIMIZE=0** + ( For more information about these optimizations, have a look at [Makepkg](https://wiki.archlinux.org/index.php/Makepkg) +- Arch package memory-indexer running every 20 minutes. This memory index is used when AUR Api cannot handle the amount of results found for a given search. It can be disabled via the environment variable **BAUH_ARCH_AUR_INDEX_UPDATER=0**. +- If some of your installed packages are not categorized, send an e-mail to **bauh4linux@gmail.com** informing their names and categories in the following format: ```name=category1[,category2,category3,...]``` + ### General settings You can change some application settings via environment variables or arguments (type ```bauh --help``` to get more information). diff --git a/bauh/gems/arch/controller.py b/bauh/gems/arch/controller.py index 0d77fb9c..af5531df 100644 --- a/bauh/gems/arch/controller.py +++ b/bauh/gems/arch/controller.py @@ -747,7 +747,7 @@ class ArchManager(SoftwareManager): return res def is_default_enabled(self) -> bool: - return False + return True def launch(self, pkg: ArchPackage): if pkg.command: diff --git a/bauh/gems/arch/resources/locale/ca b/bauh/gems/arch/resources/locale/ca index 3f912e7e..dd47dff2 100644 --- a/bauh/gems/arch/resources/locale/ca +++ b/bauh/gems/arch/resources/locale/ca @@ -1,5 +1,6 @@ gem.arch.label=AUR gem.arch.info=Els paquets AUR són mantinguts per una comunitat d’usuaris independent. No hi ha cap garantia que funcionin o que no danyin el vostre sistema. +gem.aur.install.warning=Els paquets AUR són mantinguts per una comunitat d’usuaris independent. No hi ha cap garantia que funcionin o que no danyin el vostre sistema. aur.info.architecture=arquitectura aur.info.architecture.any=qualsevol aur.info.build date=data de compilació diff --git a/bauh/gems/arch/resources/locale/de b/bauh/gems/arch/resources/locale/de index c4b3bce3..647ff73f 100644 --- a/bauh/gems/arch/resources/locale/de +++ b/bauh/gems/arch/resources/locale/de @@ -1,5 +1,6 @@ gem.arch.label=AUR gem.arch.info=AUR Pakete werden von einer unabhängigen Nutzergemeinschaft geflegt. Es keine Garantie das sie funktionieren oder kein Schaden verursachen. +gem.aur.install.warning=AUR Pakete werden von einer unabhängigen Nutzergemeinschaft geflegt. Es keine Garantie das sie funktionieren oder kein Schaden verursachen. arch.install.conflict.popup.title=Konflikt entdeckt arch.install.conflict.popup.body=Die Anwendungen {} können nicht gleichzeitig installiert sein. Du musst eine deinstallieren um die andere zu installieren. Fortfahren? arch.missing_deps.title=Fehlende Abhängigkeiten diff --git a/bauh/gems/arch/resources/locale/en b/bauh/gems/arch/resources/locale/en index 04f78d3d..4c2b35e9 100644 --- a/bauh/gems/arch/resources/locale/en +++ b/bauh/gems/arch/resources/locale/en @@ -1,5 +1,6 @@ gem.arch.label=AUR -gem.arch.info=AUR packages are maintained by an independent user community. There is no warranty that they will work or not harm you system. +gem.arch.info=AUR packages are maintained by an independent user community. There is no warranty that they will work or not harm your system. +gem.aur.install.warning=AUR packages are maintained by an independent user community. There is no warranty that they will work or not harm your system. arch.install.conflict.popup.title=Conflict detected arch.install.conflict.popup.body=The applications {} are in conflict. You must uninstall one to install the other. Continue ? arch.missing_deps.title=Missing dependencies diff --git a/bauh/gems/arch/resources/locale/es b/bauh/gems/arch/resources/locale/es index d8a54105..ef7c3183 100644 --- a/bauh/gems/arch/resources/locale/es +++ b/bauh/gems/arch/resources/locale/es @@ -1,5 +1,6 @@ gem.arch.label=AUR gem.arch.info=Los paquetes AUR son mantenidos por una comunidad de usuarios independiente. No hay garantía de que funcionen o que no dañen su sistema. +gem.aur.install.warning=Los paquetes AUR son mantenidos por una comunidad de usuarios independiente. No hay garantía de que funcionen o que no dañen su sistema. aur.info.architecture=arquitectura aur.info.architecture.any=cualquier aur.info.build date=fecha de construcción diff --git a/bauh/gems/arch/resources/locale/it b/bauh/gems/arch/resources/locale/it index 4b0e5bc0..cb2b7e5a 100644 --- a/bauh/gems/arch/resources/locale/it +++ b/bauh/gems/arch/resources/locale/it @@ -1,5 +1,6 @@ gem.arch.label=AUR gem.arch.info=I pacchetti AUR sono gestiti da una comunità di utenti indipendenti. Non esiste alcuna garanzia che funzionino o non danneggino il sistema. +gem.aur.install.warning=I pacchetti AUR sono gestiti da una comunità di utenti indipendenti. Non esiste alcuna garanzia che funzionino o non danneggino il sistema. arch.install.conflict.popup.title=Conflitto rilevato arch.install.conflict.popup.body=Le applicazioni {} sono in conflitto. È necessario disinstallarne una per installare l'altra. Continua ? arch.missing_deps.title=Dipendenze mancanti diff --git a/bauh/gems/arch/resources/locale/pt b/bauh/gems/arch/resources/locale/pt index a5d82578..4aaeb383 100644 --- a/bauh/gems/arch/resources/locale/pt +++ b/bauh/gems/arch/resources/locale/pt @@ -1,5 +1,6 @@ gem.arch.label=AUR gem.arch.info=Pacotes do AUR são mantidos por uma comunidade de usuários independente. Não há garantia que funcionarão ou que não prejudicarão o seus sistema. +gem.aur.install.warning=Pacotes do AUR são mantidos por uma comunidade de usuários independente. Não há garantia que funcionarão ou que não prejudicarão o seus sistema. aur.info.architecture=arquitetura aur.info.architecture.any=qualquer aur.info.build date=data de construção diff --git a/bauh/gems/arch/suggestions.py b/bauh/gems/arch/suggestions.py index 393e6b63..5bb2517b 100644 --- a/bauh/gems/arch/suggestions.py +++ b/bauh/gems/arch/suggestions.py @@ -1,3 +1,5 @@ from bauh.api.abstract.model import SuggestionPriority -ALL = {'google-chrome': SuggestionPriority.HIGH} +ALL = {'google-chrome': SuggestionPriority.HIGH, + 'lutris-git': SuggestionPriority.LOW, + 'xdman': SuggestionPriority.LOW} diff --git a/bauh/gems/arch/worker.py b/bauh/gems/arch/worker.py index 3923e08e..58078d31 100644 --- a/bauh/gems/arch/worker.py +++ b/bauh/gems/arch/worker.py @@ -83,7 +83,7 @@ class ArchCompilationOptimizer(Thread if bool(os.getenv('BAUH_DEBUG', 0)) else P self.logger.info("Arch packages compilation optimization is disabled. Aborting...") else: try: - ncpus = ceil(os.cpu_count() * 1.5) + ncpus = os.cpu_count() except: self.logger.error('Could not determine the number of processors. Aborting...') ncpus = None diff --git a/bauh/view/qt/apps_table.py b/bauh/view/qt/apps_table.py index 040fab21..b9f29056 100644 --- a/bauh/view/qt/apps_table.py +++ b/bauh/view/qt/apps_table.py @@ -174,9 +174,16 @@ class AppsTable(QTableWidget): def _install_app(self, pkgv: PackageView): + body = self.i18n['manage_window.apps_table.row.actions.install.popup.body'].format(self._bold(str(pkgv))) + + warning = self.i18n.get('gem.{}.install.warning'.format(pkgv.model.get_type().lower())) + + if warning: + body += '

{}'.format('
'.join(('{}.'.format(phrase) for phrase in warning.split('.') if phrase))) + if dialog.ask_confirmation( title=self.i18n['manage_window.apps_table.row.actions.install.popup.title'], - body=self._parag(self.i18n['manage_window.apps_table.row.actions.install.popup.body'].format(self._bold(str(pkgv)))), + body=self._parag(body), i18n=self.i18n): self.window.install(pkgv) @@ -267,6 +274,7 @@ class AppsTable(QTableWidget): elif pkg.model.can_be_installed(): def install(): self._install_app(pkg) + item = self._gen_row_button(self.i18n['install'].capitalize(), INSTALL_BT_STYLE.format(back='#088A08'), install) else: item = None