Releases: excalibur1234/pacui
More AUR helpers
This release contains many new features. Here is a short overview:
-
The UI has been simplified by changing the following options:
- 'force update system' has been removed from the UI and integrated in the 'update system' option. Whenever an update fails, you are now offered to forcefully install all updates anyway (on your own risk).
- 'empty package cache' has been completely removed. Internally, it used 'sudo pacman -Scc', which is discouraged by pacman developers. 'fix pacman errors' contains 'sudo pacman -Sc'. If you want to (almost) empty your package cache, use it instead.
- 'force install packages' has been completely removed. It simply added a ' --force' flag to pacman's installation command. I have added it to 'install packages' when the package installation failed, but i got tired of an extra question every time i cancel a package installation with CTRL+C. If you really miss this feature (or want the same functionality in 'install packages' as in 'remove packages'), please contact me.
- 'force remove packages' has been removed from the UI and integrated into 'remove packages' whenever package removal fails.
- The 'list package by size' option has been added to the UI. It has also gained an info preview.
-
PacUI supports now these AUR helpers in the following order of priority. Additional AUR helpers should be rather easy to implement, because the code is now modular.
-
Additionally, PacUI can now be used much more easily without any optional dependencies. AUR helpers and 'downgrade' are optional dependencies of PacUI.
The UI and help pages adapt to these cases and only show available options. Options (such as 'install packages') should adapt accordingly and only display warnings when absolutely necessary. -
'remove packages' now gives you the following choice whenever package removal fails:
- Remove all packages without checking their dependencies. This is equivalent to the former 'force remove packages'.
- Retry again. This is useful when you have selected a couple of dependencies. Now, you can simply reselect all packages (press and hold your TAB key), except for the dependencies. This option is much safer!
- As most options, you can quit them with ESC anytime you want.
-
The tty has received a great amount of attention. It should now be possible to use PacUI in tty (almost) without noticing any drawbacks compared to terminal use. This has been challenging in the past due to a bug in fzf.
-
Info preview windows have been added to the 'dependency tree' and 'reverse dependency tree' options.
-
All critical parts of PacUI now use either variables or temporary files in a secure way.
All but one 'rm' command have been removed from PacUI. This is general good coding practice.
All useful tips by shellcheck have been implemented.
In critical parts of PacUI (e.g. when lowering pacman securities in 'fix pacman errors'), it is now made sure that - even in case PacUI crashes - no important settings are left in a changed state. -
A lot of bugfixes, minor code changes, more code comments, new configuration files in 'edit config files', speed and general improvements.
More Refinements
This release contains a couple of nice improvements besides small adjustments:
-
The "Edit Config Files" option shows quick previews of all config files. The description is still included in bold font. After selecting a config file with ENTER, you can still edit it. Directories are supported, too.
-
@thefallenrat has improved and refined the EOL kernel check in "Maintain System" multiple times. Overall, i like this code much more now.
-
pacman-mirrors 4.3+ is now properly supported for all Manjaro users. You will no longer see a warning text about deprecated options.
-
@Chrysostomus fixed the AUR support. Now, the list of all packages should show AUR packages again.
-
The speed of the list view (which uses fzf) has been improved wherever possible.
-
The removal of orphaned packages can now be declined while continuing the "Maintain System" option.
-
Because I was forced to be offline for 3 weeks, i fixed a couple of bugs, which only appeared when PacUI was started without an active internet connection.
As always, small adjustments have been made all over the place (especially in the "Help" option) in the hope of improving the user experience.
Refinements
This release includes less dramatic changes than the last couple of releases:
-
@thefallenrat has improved the security of the "roll-back" option by using variables instead of files as buffer for lists of package names and versions. This option can now roll back downgraded packages, which should not happen often, but it is a nice to have feature. Also, the help page contains more and detailed information about this option.
-
The package information window does not show Pacaur errors for all AUR packages anymore.
-
Option 2 has been renamed from "clean system" to "maintain system", because it does more than cleaning nowadays.
-
Option 11 was renamed to "edit config files", which is more appropriate than "configure system". Attention for all non-GUI users: "pacui c" is now reserved for editing config files!
-
Most options, which display a list of packages now contain package descriptions of packages from the system repository, too. This means it is possible to search for both package names and package descriptions again (this was already possible before Pacui 1.6).
-
The "search package files" option has received a massive performance boost. When displaying 70k search results took about 15min before, displaying 1.9M files takes about 20s now (at least on my system). The down side is that files can appear twice now (in some cases), both in the "local repository" and "system repository" section. But i think the speed improvement is worth a couple of duplicate results.
-
The help page gets buffered now and should open much faster the second time.
-
The hidden "ls" option looks nicer and does not contain any important system packages anymore, because their installations size is usually negligible and you should not even think about removing them.
-
The currently hidden "log" option has been removed. Instead, I recommend to use the "roll-back" option, which shows a nice overview of important Pacman events. The "info" option has been removed as well, because the same package information is now shown in a much more comfortable way in a extra window while the user scrolls through displayed lists of packages.
-
General fixes and improvements. This version should be more stable than 1.6 was. I have tested all options. In 2 cases the only way to fix bugs was to revert changes recommended by shellcheck.
-
I will probably release a new AUR package called "pacui", which updates with every major release of Pacui and adjust the version number of "pacui-git" package in AUR to include the latest git release. When this is complete, I can delete the currently used "devel" branch again.
Bugfix
There are 3 known bugs in version 1.6 of PacUI.
The most noticeable bug is broken installation/removal of multiple packages (especially using Yaourt). Because of the severe nature of that bug, i decided to release a bugfix version.
Arch Linux Compatibility
In terms of commits, this is the biggest release since version 1.0!
The user experience has changed noticeably and - in my opinion - has significantly improved. Here a short overview of the major features:
-
Most options in PacUI now use a new Preview Window from fzf. It shows package and package group information for every selected package (also for AUR packages). This is a much easier and seamless way to get package information!
-
@thefallenrat has helped me to make (parts of) the "Clean System" and "Fix Pacman Errors" options compatible with Arch Linux. This means that PacUI should be fully compatible with Arch Linux and all distributions, which use Arch Linux mirror/repository servers.
The code is now cleaner and more generic. -
There is a new hidden option called "List Packages by Size". It shows, which packages require the most hard drive space after installation. This can give you an idea which packages to remove from a system with limited hard drive space and/or slow internet connection.
-
The "Clean System" option now checks for packages, which are installed but not available in the AUR. This feature shows packages, which have been removed from the AUR (or manually installed). You have to decide what you want to do with those packages.
-
The "Search Package Files" option should now be noticeably faster for large searches (>1k files). I am still not satisfied with the performance but the bottleneck is now 'awk'.
-
Some options have been rearranged: "Package Information" is no longer needed and is now hidden and "Pacman Log" is hidden as well, because "Roll Back System" provides an even better overview of pacman actions."Search Package Files" has been moved to "List Package Files", because these are inverse options.
-
It is now possible to install packages from the repositories and AUR packages with one PacUI command.
-
A possible security vulnerability has been fixed.
-
The "List Installed from AUR" option now displays ALL packages, which were not installed from the system repositories. Previously only explicitly installed packages were listed.
-
The (optional) dependencies in the PKGBUILD files have been adjusted to the new distro-agnostic nature of PacUI. "package-query" (created by the Yaourt developers) had been replaced as dependency with "expac" (also dependency of Pacaur).
-
General code improvements by following tips from shellcheck.
-
Overall functionality fixes and improvements - at least all i have discovered. The first page of Github has been updated and extended.
The help page has been updated to reflect the latest changes.
Compatible with pacman-mirrors 4.2
This latest version keeps PacUI compatible with pacman-mirrors 4.2, which introduces breaking changes. pacman-mirrors automatically chooses the fastest mirror/server for download of packages. Without it, option "Clean System" breaks.
Furthermore, a couple of small improvements have been made:
-
The "Clean System" option shows broken symbolic links on your system. It does not offer to delete them automatically, because broken symbolic links are not a problem in general. The user knows best what to do with them.
-
General improvements in the "Configure System" option, including more files. There is now a total number of 46 different configuration files/folders supported. Please tell me, if you are still missing quick access to an important configuration file on your system.
-
Option 10 has been renamed to "Search Package Files". It still has the same functionality as before: The user has to enter (parts of) a file name and the installation path and package name (to which this file belongs) is displayed - both for the users system and the Manjaro repositories.
-
Small improvements across the board.
Many Improvements
The "Roll Back" option has been improved. It works now much more automated and should work more reliable. A decision had to made about: Either it works extremely reliable by rolling back every single change up to a specified point in time (which would require ALL old package versions to present in your package cache) or it could roll back many packages very quickly. I have decided for the latter. By default the "Clean System" option only keeps the latest 3 versions of packages in your cache, anyway.
When the same package gets marked multiple times before a "roll back", it gets downgraded to the appropriate version (if that version is available in the package cache).
The "Clean System" has been expanded to included a file difference viewer of .pacnew/.pacsave files. You can also choose, whether you want to keep the .pacnew/.pacsave file or the original settings file. Also, a consistency check of your package repository has been added.
Double entries in all fzf menus (such as Install Package and Remove Package and similar) should be gone now. Additionally, package groups get displayed and can be installed/removed from your system using PacUI.
The "Help" option is now more comfortable to use and displays colors.
The height of the UI has been decreased even further. This should make it easier to see the entire UI on rather slim drop-down terminals. Additionally, the help option has been moved to the bottom. This should make it stand out more.
The "List Package Files" and "Reverse File Search" have been improved and now support the Manjaro repositories. They both used to support only locally installed packages. Please note that locally installed packages only show their package name, while packages from the manjaro repository show "repository/package-name" in front of the file path.
Finally, the "Install Packages" and "Install from AUR" options have been combined into one. The Search + Install from AUR" option is now hidden by default. This should make the UI less confusing for people, who have not read the help page yet.
There was always one problem with PacUI: It is impossible to search for AUR package names and descriptions (at the moment, only search for AUR package names is supported). In my opinion, "yaourt " is still the easiest and most comfortable way to do this. If somebody knows a solution to this problem, please contact me.
Big Changes
This release includes a lot of changes:
- The project has been renamed from "pacli-simple" to "PacUI" upon request from the community. A poll has determined the new name.
- A new "roll back system" option replaces the old "downgrade" option. This option is meant for rolling back system updates with a lot of files. It downgrades all packages to the previous version (if it is present in your pacman cache), and installs removed packages, and removes installed packages. The old "downgrade" option is still there, but it is hidden by default.
- Support for pacaur has been added. If pacaur is found, it will be used by default and yaourt is no longer necessary.
- Various small improvements to the "fix pacman errors", "list local package files", "configure system", and "reverse file search" options. Also, the PKGBUILD file was improved.
more options...
Some changes, which were made because of shellcheck got reverted, because they broke pacli-simple.
This release includes a fixed and improved "Configure System" option. If you know more important .conf files on your system, which are not part of this option yet, please tell me.
Also, a new option called "Reverse File Search" got added. This enables users to identify a faulty package, when pacman only shows an error message about a file.
Additionally, the "Fix Pacman Errors" option now checks for systemd before installing it. This makes the option more generic.
Bugfix and small improvements
This release contains a bugfix for a visual oddity on different systems. Now, pacli should look good on all systems.
Also, tmux is supported out of the box and the "fix pacman errors", "downgrade", "configure system", and "search+install from AUR" option have seen improvements.
The code has been analyzed with shellcheck and some tips, which made sense, have been applied.
Comments in the code are more and better now.