Updating CHANGELOG and README

This commit is contained in:
Vinicius Moreira
2019-09-25 12:57:02 -03:00
parent e95a523566
commit b2fa2168fd
2 changed files with 38 additions and 38 deletions

View File

@@ -4,9 +4,10 @@ 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.6.0] 2019-09-
## [0.6.0] 2019-09-25
### Features
- Supporting **AUR** packages (install, uninstall, search, info, downgrade and history)
- Supporting **AUR** packages ( see below )
- Now it is possible to enable / disable the packaging technologies via graphical interface using the **Application types** action in the lower **Settings** button
- Environment variables / parameters **BAUH_FLATPAK (--flatpak)** and **BAUH_SNAP (--snap)** removed in favor of the feature above
- Qt style / theme combo selector ( environment variable / parameter **BAUH_THEME (--theme)** removed )
@@ -17,22 +18,23 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Package "Name" filter field ( above the packages table )
- Showing the number of packages being shown by the total found in the right lower corner
- **Show button** for large fields in the **Info** window
- New environment variables / parameters: BAUH_MAX_DISPLAYED and BAUH_LOGS
### Improvements
- Reading installed Snaps now takes around 95% less time
- Reading Snap suggestions now takes around 75% less time
- Reading installed Flatpaks now takes around 45% less time
- "snap" and "snapd" installation check latency
- Refreshing only the associated package type after a successful operation (uninstall, downgrade, ...) ( installation has a different treatment. See below )
- Only the package status is changed after a successful installation ( not refreshing the whole table )
- Progress bar status can now be controlled by the software manager while an operation is being executed
- "snap" and "snapd" installation check response time reduced
- Refreshing only the associated package type after a successful operation (uninstall, downgrade, ...) ( **installation** has a different treatment. See below )
- Only the installed package is displayed after a successful installation
- Progress bar status can now be controlled by the software manager (gem) while an operation is being executed
- Flatpak: showing runtime branches as versions when they are not available
- better internet offline handling
- small UI improvements
- installation logs are saved at **/tmp/bauh/logs/install**
- Environment variable / parameter BAUH_UPDATE_NOTIFICATION renamed to BAUH_SYSTEM_NOTIFICATIONS and now works for any system notification
- Environment variable / parameter BAUH_DOWNLOAD_MULTITHREAD (--download-mthread): if source files should be downloaded using multi-threads (not supported by all **gems**).
- Environment variable / parameter **BAUH_UPDATE_NOTIFICATION** renamed to **BAUH_SYSTEM_NOTIFICATIONS** and now works for any system notification
- Environment variable / parameter **BAUH_DOWNLOAD_MULTITHREAD**: if source files should be downloaded using multi-threads (not supported by all **gems**).
- Environment variables / parameter **BAUH_MAX_DISPLAYED**: controls the maximum number of displayed apps ( default to 50 )
- Environment variables / parameter **BAUH_LOGS**: controls the maximum number of displayed apps ( default to 50 )
- small UI improvements
### UI Changes
- **Upgrade selected** and **Refresh** buttons now have text labels and new colors
@@ -52,14 +54,15 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
### AUR support (**arch gem**):
- Search, install, uninstall, downgrade, retrieve history and launch packages
- Faster source files downloads improving installation speed ( see **README.md** for more information )
- Automatically improves package compilations (see **README.md** for more information )
- Automatically improves package compilations ( see **README.md** for more information )
### Code
- Code was internally modularized as: **api** (conceptual classes used to create custom software managers), **gems** (software managers), **commons** (common classes shared between the **view** and **gems**), **view** (UI code)
- **api** allows custom operations, so the **gems** can provide actions that the current GUI does not support (Snap "refresh" was refactored as a custom operation)
- Code was internally modularized as: **api** (conceptual classes used to create custom software managers or **gems**), **gems** (software managers), **commons** (common classes shared among the **view** and **gems**), **view** (UI code)
- **api** allows custom operations so the **gems** can provide actions that the current GUI does not support (Snap "refresh" was refactored as a custom operation)
### Comments
- the application settings are stored in **/home/$USER/.config/bauh/config.json**
- the application settings are stored in **~/.config/bauh/config.json**
## [0.5.2] 2019-09-06
### Features
@@ -68,6 +71,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- wrong management panel resizing for some scenarios
- bad application theme when fusion or breeze are not set as default QT theme / style
## [0.5.1] - 2019-08-12
### Improvements:
- suggestions are now retrieved asynchronously taking 45% less time.

View File

@@ -15,6 +15,7 @@ This project has an official Twitter account ( **@bauh4linux**) so people can st
#### Debian-based distros
- **python3.5** or above
- **pip3**
- **python3-venv** ( only for **Manual installation** described below )
#### Arch-based distros
- **python**
@@ -25,11 +26,11 @@ This project has an official Twitter account ( **@bauh4linux**) so people can st
##### Optional
- **flatpak**: to be able to handle Flatpak applications
- **snapd**: to be able to handle Snap applications
- **git**: to be able to downgrade AUR packages
- **wget**: to be able to download and install AUR packages
- **pacman**: to be able to handle AUR packages
- **libappindicator3**: for the **tray mode** in GTK3 desktop environments
- **wget**: to be able to handle AUR packages
- **git**: to be able to downgrade AUR packages
- **aria2**: faster AUR source files downloading ( reduces packages installation time. More information below. )
- **libappindicator3**: for the **tray mode** in GTK3 desktop environments
### Distribution
@@ -54,7 +55,7 @@ env/bin/pip install . ( install the application code inside the **env** )
env/bin/bauh ( launch the application )
```
If you do not want to clone / download this repository, go your **Home** folder and execute the commands above, but replace the second by ```env/bin/pip install bauh```.
If you do not want to clone / download this repository, go to your **Home** folder and execute the commands above, but replace the second by ```env/bin/pip install bauh```.
### Autostart
@@ -68,38 +69,31 @@ You can change some application settings via environment variables or arguments
- **BAUH_LOCALE**: define a custom app translation for a given locale key (e.g: 'pt', 'en', 'es', ...). Default: system locale.
- **BAUH_CACHE_EXPIRATION**: define a custom expiration time in SECONDS for cached API data. Default: 3600 (1 hour).
- **BAUH_ICON_EXPIRATION**: define a custom expiration time in SECONDS for cached icons. Default: 300 (5 minutes).
- **BAUH_DISK_CACHE**: enables / disables disk cache. When disk cache is enabled, the installed applications data are loaded faster. Use **0** (disable) or **1** (enable, default).
- **BAUH_DOWNLOAD_ICONS**: Enables / disables app icons download. It may improve the application speed depending on how applications data are being retrieved. Use **0** (disable) or **1** (enable, default).
- **BAUH_CHECK_PACKAGING_ONCE**: If the available supported packaging types should be checked ONLY once. It improves the application speed if enabled, but can generate errors if you uninstall any packaging technology while using it, and every time a new supported packaging type is installed it will only be available after a restart. Use **0** (disable, default) or **1** (enable).
- **BAUH_DISK_CACHE**: enables / disables disk cache. When disk cache is enabled, the installed packages data are loaded faster. Use **0** (disable) or **1** (enable, default).
- **BAUH_DOWNLOAD_ICONS**: Enables / disables applications icons downloading. It may improve the application speed depending on how applications data are being retrieved. Use **0** (disable) or **1** (enable, default).
- **BAUH_CHECK_PACKAGING_ONCE**: If the availabilty of the supported packaging types should be checked only once. It improves the application speed if enabled, but can generate errors if you uninstall any packaging technology while using it, and every time a new supported packaging type is installed it will only be available after a restart. Use **0** (disable, default) or **1** (enable).
- **BAUH_TRAY**: If the tray icon and update-check daemon should be created. Use **0** (disable, default) or **1** (enable).
- **BAUH_SUGGESTIONS**: If application suggestions should be displayed if no packaged considered as an application is installed (runtimes / libraries do not count as applications). Use **0** (disable) or **1** (enable, default).
- **BAUH_SUGGESTIONS**: If application suggestions should be displayed if no package considered an application is installed (runtimes / libraries do not count as applications). Use **0** (disable) or **1** (enable, default).
- **BAUH_MAX_DISPLAYED**: Maximum number of displayed packages in the management panel table. Default: 50.
- **BAUH_LOGS**: enable **bauh** logs (for debugging purposes). Use: **0** (disable, default) or **1** (enable)
- **BAUH_DOWNLOAD_MULTITHREAD**: enable multi-threaded download for installation files ( only possible if **aria2** is installed ). Use **0** (disable) or **1** (enabled, default).
The application settings are stored in **/home/$USER/.config/bauh/config.json**
### Disk cache
- **bauh** stores some data about your installed applications by **default** in **/home/$USER/.cache/bauh** to load them faster.
- **BAUH_DOWNLOAD_MULTITHREAD**: enable multi-threaded download for installation files ( only possible if **aria2** is installed ). This feature reduces applications installation time ( only supported by AUR packages at the moment ). Use **0** (disable) or **1** (enabled, default).
### How to improve **bauh** performance
- If you don't care about a specific packaging technology and don't want **bauh** to deal with it, just disable it via the graphical interface.
- Disable package types that you do not want to deal with ( via GUI )
- If you don't care about restarting the app every time a new supported packaging technology is installed, set "check-packaging-once=1" (**bauh --check-packaging-once=1**). This can reduce the application response time up in some scenarios, since it won't need to recheck if the packaging type is available for every action you request.
- If you don't mind to see the applications icons, you can set "download-icons=0" (**bauh --download-icons=0**). The application may have a slight response improvement, since it will reduce the parallelism within it.
- If you don't mind app suggestions, disable it (**bauh --sugs=0**)
- Let the disk cache always enabled so **bauh** does not need to dynamically retrieve some data every time you launch it.
### Flatpak support ( flatpak gem )
- The user is able to search, install, uninstall, downgrade, laucnh and retrieve the applications history
### Snap support ( snap gem )
- The user is able to search, install, uninstall, launch and downgrade applications
- The user is able to search, install, uninstall, refresh, launch and downgrade applications
### AUR support ( arch gem )
- It is **not enabled by default**. It is necessary to enable it using the UI.
- 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 ( include from your distro mirrors )
- 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
@@ -108,23 +102,25 @@ will be pre-downloaded faster ( it does **NOT** modify your **pacman** settings
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, the custom file will be generated.
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 )
### Logs
### Files and Logs
- Some application settings are stored in **~/.config/bauh/config.json**
- Installation logs are saved at **/tmp/bauh/logs/install**
- Some data about your installed applications are stored in **~/.cache/bauh** to load them faster ( default behavior ).
### Code structure
#### Modules
**view**: code associated with the graphical interface
**gems**: code responsible to work with the different packaging technologies (every submodule deals with one or more type)
**gems**: code responsible to work with the different packaging technologies (every submodule deals with one or more types)
**api**: code abstractions representing the main actions that a user can do with Linux packages (search, install, ...). These abstractions are implemented by the **gems**, and
the **view** code is only attached to them (it does not know how the **gems** handle the actions)
the **view** code is only attached to them (it does not know how the **gems** handle these actions)
**commons**: common code used by **gems** and **view**