"AM" 8
Let's improve for the future!
There are some major changes in this release, and they were already announced in the three pre-releases of the past few days. Here's what's changed.
BASH/ZSH completion, by default, and rootless
The bash completion file will be updated locally, in $HOME, as it already happened with "AppMan", the same will happen with "AM". But for both modes, the change will be dynamic, so you can constantly update the file responsible for the keywords to use.
"AM" users are advised to remove the old "/etc/bash_completion.d/am-completion.sh" file used previously, it is no longer needed.
Changed destination for lists and configuration files, locally!
Both "AM" and "AppMan" will share the new "AM" directory that will be created in ~/.local/share, and in which the lists will be updated, both of the applications and of the keywords to be used in the BASH/ZSH completion. And not only that, all the configuration files for betatests and third-party repositories will be saved there.
The .cache directory is being retired
From now on, versions and info about installed apps, and the processes of installing scripts from the database will be done in ~/.cache/am and ~/.cache/appman, so that any dedicated client, like BleachBit, can handle temporary files.
To remove old files and the old .cache directory previously used, run "AM" or "AppMan" with the -c
option.
Halving of modules
The modules have been reduced from 10 to 5. This results in faster update speed of "AM" and "AppMan".
Size
This release come with 1,286 additions and 2,295 deletions in the code, so "AM" and its modules are overall 3/4 of the previous version.
More readable help message
Not only has the help message (option "-h
") been simplified, but colors and more complete formulas have been added, which show in concrete terms how to use the commands.
help-2024-08-26_04.56.12.mkv.mp4
Replacement of "wget" in favor of "curl" for some functions
The functions related to downloading scripts and modules have undergone the replacement of "wget" in favor of "curl", so that you can also easily manage offline files. Why? It is soon explained in the next paragraph.
Offline/online repos, your own fork or a third-party one... to manage them is simplier!
Completely rewritten the procedure for creating and managing third-party repositories, made easier with simple commands to use. You can drag a directory with the same structure as this repository or a link to a branch (in "RAW") to a fork or a repository similar to this one, as long as the structure is similar, and you will be able to install applications, consult lists and update from there, as long as the selected repository is active. You can learn more in the dedicated section of the README, or run the "-h
" option and search for "newrepo" or "neodb". In the meantime, here is a demo video:
newrepo-2024-08-26_05.01.03.mkv.mp4
Start of distribution packager support
"AM" is always meant to be installed and used in /opt/am with a symbolic link in /usr/local/bin/am. This will not change, but it will also be supported by alternative paths that will be selectable by those who decide to implement "AM" in their distro. Other improvements in this regard will be added in the coming days, or weeks.
Conclusions
The most important aspect of this release is to bring "AM" to a much more open level, since it is designed to install applications at system level and update them without root privileges. We have done the first step now, moving the bulk of the files normally used from "$AMPATH" (the APP-MANAGER directory) to ~/.local/share/AM, shared with "AppMan". Now we only have to work on APP-MANAGER and the few remaining modules, to allow the use of "AM" to all privileged users, not just the owner of "AM".
Bringing some files known to be managed only by the owner of "AM" to a lower level is already a step forward towards the extensibility of this CLI, which from now on will have an easier path to new implementations.
Thanks for the support, and thanks to @Samueru-sama who helped me a lot!
Full Changelog: 7.8.1...8