Skip to content

"AM" 9.5

Latest
Compare
Choose a tag to compare
@ivan-hc ivan-hc released this 21 Feb 02:10
· 71 commits to main since this release
0c9b0cc

Improved support and extensibility with third-party databases

Third-party database support has never been so extensive, free and secure!

Istantanea_2025-02-21_05-54-46 Istantanea_2025-02-21_02-26-30

Read to the end, you'll see some great things!


-i or install

It will now be possible to install multiple applications "per family" from supported external databases (in the example, SoarPKGS (ex Toolpacks):

simplescreenrecorder-2025-02-21_02.29.24.mp4

...a security check has also been added to check whether applications are actually available online

Istantanea_2025-02-20_04-15-33


flags and extensions

Each third-party database will have its own dedicated flag and list.

The flag is unique for each database, you cannot install applications from different databases if it is in use.

For BASH/ZSH/FISH completion, program names with and without extension are available

Istantanea_2025-02-21_02-37-10


-a or about

If applications are detected from third-party databases but not installed, it will notify that an extension is needed. On the contrary, for those installed the info will report the need for an extension to see the details. All details:

Istantanea_2025-02-21_03-49-04

The variants and their number will also be listed, as well as details on the installed binary.


-l or list

The usage of the flag or the extension is suggested in the description of the app in -l

Istantanea_2025-02-21_02-38-06 png


-q or query

Third-party flags have been removed from -q, but can be used as a keyword after the --all flag. A hint has also been added in case there are no search results.

Istantanea_2025-02-21_02-45-25

EXTENSIVENESS

If you thought that the existing databases were too ingrained, well... you were right.

This release has undergone a deep refactoring that reduces the addition of third-party databases... to just three lines.

Below are the existing ones (from APP-MANAGER):

#################################
#	APPBUNDLEHUB		
#################################
export appbundle_repo="https://github.com/xplshn/AppBundleHUB"
#export appbundle_readme="https://raw.githubusercontent.com/xplshn/dbin-metadata/master/misc/cmd/AM-support/AM.txt"
#[ -n "$appbundle_readme" ] && third_party_flags="$third_party_flags --appbundle"

#################################
#	TOOLPACKS/SOARPKGS
#################################
export toolpack_repo="https://github.com/pkgforge/soarpkgs (ex toolpacks)"
export toolpack_readme="https://raw.githubusercontent.com/ivan-hc/am-extras/main/soarpkgs-toolpacks/${ARCH}.md"
[ -n "$toolpack_readme" ] && third_party_flags="$third_party_flags --toolpack"

export toolpack_missing_file_msg="\nIt appears that the selected file is not available.\n\nThis happens due to pkgforge's mirror Issue.\nLearn more: https://docs.pkgforge.dev/repositories/bincache/cache\n\nAlternatively, install \"soar\" or \"dbin\" and use those.\n\n"

#################################
#	ALL THE ABOVE
#################################
third_party_lists="appbundle toolpack"

It is enough to set $yourflagname_repo, $yourflagname_readme and then add a flag in $third_party_flags

As you can see from the code and while I write, AppBundleHUB is currently down, as it is undergoing maintenance... it will be up as soon as the list is restored.

To ensure the security and up-to-dateness of the lists, they will be published at https://github.com/ivan-hc/am-extras

In the modules you will not find functions dedicated to Toolpacks or AppbundleHUB (for the latter only the checks for "AppBundle" as a packaging format are left, to have a dedicated installation script)... but you will find all the functions and references related to third-party flags and extensions concentrated in one place, and without ever mentioning the third-party database.

Example, option -h or help

Here's how easy it is to add a new flag or extension to AM, this is what will happen to AppBundleHUB when it's ready:

simplescreenrecorder-2025-02-21_03.52.25.mp4

To AppBundle users

Already installed apps will show up as coming from Toolpacks, due to the old identification method.

New installations will have their own flag and list.

The same will be true for all future third-party databases that may be added in the future.


Conclusions

With the renewed support for Toolpacks, the available applications have almost doubled, especially now that they are available in groups of families.

I invite you to also take a look at the following package managers, without whose developers, such a quantity of software would not be possible:

...I hope you like this release!

What's Changed

  • "AM" 9.5 - Rewrite of third-party databases support by @ivan-hc in #1358

Full Changelog: 9.4.4...9.5