Skip to content

"AM" 8

Compare
Choose a tag to compare
@ivan-hc ivan-hc released this 26 Aug 04:17
· 583 commits to main since this release
c91bfac

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.

Istantanea_2024-08-26_04-47-01 png

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