Skip to content

Releases: ivan-hc/AM

"AM" 8

26 Aug 04:17
c91bfac

Choose a tag to compare

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

"AM" 8beta1

25 Aug 18:50
49d43b6

Choose a tag to compare

"AM" 8beta1 Pre-release
Pre-release

Third day of improvements:

  • modules are now only 5
    Istantanea_2024-08-25_20-25-03

  • Option "help" or "-h" improved, with colors and shorter messages

help-2024-08-25_20.27.17.mkv.mp4
  • Option "newrepo" or "neodb" is now totally rewrited. New support for third-party repositories, managed directly from the main CLI, its enough to use the suboption add followed by the path to an offline directory or a "RAW" URL that will be added to a list, needed to select one of the repos that will replace the main one. To enable/disable it use on/off
newrepo-2024-08-25_20.32.43.mkv.mp4

to allow this behaviour, some modules and commands have been converted to curl usage.

To test the new features, run the command

am --devmode-enable

or

appman --devmode-enable

the release its quite ready, now its time to finalize some little details before it become Stable.

Please open a discussion or a issue if you have a suggestion to improve this release. Thank you for your attention.

Full Changelog: 7.8.1...8beta1

"AM" 8alpha2

25 Aug 01:00
671eb45

Choose a tag to compare

"AM" 8alpha2 Pre-release
Pre-release

Day one, see https://github.com/ivan-hc/AM/releases/tag/8alpha1

In the day 2 of this work, we have reduced the number of modules from 10 to 7:

  • database.am contains '-f, '-a', '-l' and '-q'
  • management.am contains '-b', '--rollback', '--launcher', 'lock', 'unlock', 'nolibfuse', '-o' and 'remove'/'-R'/'-r'
  • install.am contains '-i', '-e' and '-d'
  • option 'apikey' has been moved to APP-MANAGER
  • other modules have been almost untouched

Start reworking on single options, now "AM" has a better detection of its status, to be used as "AM" or "AppMan", and we are preparing made it installable/usable from /usr/bin, for furter implementations in distro packages.

Removed references about third-party repos and neodb from all options using them, since we are starting on a total rework of the support for third-party repositories, by merging options "neodb" and "newrepo", for now still in the "devtools.am" module.

This pre-release come with 986 additions and 1,601 deletions.

We are planning to move the modules to a different directory from /opt/am/modules, please open a discussion or issue if you have any ideas.

For now, it is certain that the lists and configuration files will be moved from /opt/am to ~/.local/share/AM, for a shared use of the lists between AM and AppMan, while the "cache" files (installation scripts running, information files about installed apps and their versions) will be moved to ~/.cache/am and ~/.cache/appman

If you are curious to test the future AM 8, run

am --devmode-enable
am -s

or

appman --devmode-enable
appman -s

and help us with your feedback, it will be much appreciated.

Full Changelog: 8alpha1...8alpha2

"AM" 8alpha1

23 Aug 20:55
70779e5

Choose a tag to compare

"AM" 8alpha1 Pre-release
Pre-release

There are some changes in progress that will bring "AM" to a much more versatile use in terms of permissions:

  • processes will happen in ~/.cache/am instead of /opt/am/.cache
  • lists will be saved and consulted in ~/.local/share/AM, a directory that will be common to both "AM" and "AppMan"
  • BASH/ZSH completion will be enabled by default, and managed via the ~/.bash_completion file (for BASH), in a completely "rootless" way, and in order to extend the arguments to be used dynamically

To test the changes, you can run the following command

am --devmode-enable

in order to start the tests that will release "AM" 8.

See the development branch for more https://github.com/ivan-hc/AM/tree/dev

Status until this pre-release main...snapshot-20240823-am-8-pre-alpha1

"AM" 7.8.1

21 Aug 20:33
e802446

Choose a tag to compare

Refactoring and little improvements

Improved functions to detect apps installed with scripts having a different name, about/-a and sync/-s above all.

Also, option about/-a has colors now.

360087533-f2443103-6a00-4cf3-841e-9d8c9a778546 png

And also the option --sandbox has been improved, by @Samueru-sama allowing you to sandbox/unsandbox more AppImages at same time.

Also done a massive code refactoring and lightweighting of *.am modules.

Full Changelog: 7.8...7.8.1

"AM" 7.8

18 Aug 21:10
3433d38

Choose a tag to compare

Goodbye "libfuse2"!

Improved the option nolibfuse, usage:

am nolibfuse $PROGRAM

or

appman nolibfuse $PROGRAM

thanks to the new appimagetool implementation (at https://github.com/AppImage/appimagetool) now it is possible to convert ALL old AppImage packages still requiring the EOL "libfuse2" library!

Just one shot! No second chance!

In this example, I'll convert Libreoffice and Kdenlive:

get-rid-of-libfuse2-2024-08-18_22.09.08.mkv.mp4

As you can see, the file sizes are also smaller than before.

This process only works for old AppImages that still depend on "libfuse2", other files will be ignored.

Istantanea_2024-08-18_23-12-04 png

The original AppImage will be extracted using the --appimage-extract option, and then repackaged using appimagetool from https://github.com/AppImage/appimagetool

Updating converted AppImages

The nolibfuse option adds the following lines at the end of the AM-updater script

echo y | am nolibfuse $APP
notify-send "$APP has been converted too! "

or

echo y | appman nolibfuse $APP
notify-send "$APP has been converted too! "

so if an update happens through "comparison" of versions, the converted AppImage will be replaced by the upstream version and then the nolibfuse option will automatically start the conversion (prolonging the update time, depending on the size of the AppImage).

In this example, I update all the apps, including the original Avidemux, that is an old Type2 AppImage:

update-converted-appimages-2024-08-18_21.09.53.mkv.mp4

Instead, if the installed AppImage can be updated via zsync, this may no longer be updatable, anyway a solution may be the use of appimageupdatetool, at https://github.com/AppImageCommunity/AppImageUpdate .

SPOILER ALERT

New improvements for updates will be added in the next releases, thanks to the amazing work of @Samueru-sama : STAY TUNED!


Improved options to remove the applications

Added colors and reduced messages during the removal of applications, in -r or remove...

Istantanea_2024-08-18_19-56-05

...and -R

Istantanea_2024-08-18_19-55-36


Among other changes

Refactoring and size reduction in the "management.am" module, responsible for the above mentioned nolibfuse, -r/remove and -R options, but also responsible of the -b/backup, -o/overwrite, downgrade/--rollback, lock and unlock options.

Thanks to @Samueru-sama for testing nolibfuse in AppMan and on sistems where desktop-file-validate is not installed.

What's Changed

Full Changelog: 7.7...7.8

"AM" 7.7

15 Aug 19:13
e8abeda

Choose a tag to compare

Suspicious applications? Report them!

The installation process will take into account installation scripts belonging to applications that have little transparency in how they were built, therefore coming from repositories or websites that only publish the app and not the source code.

Each installation script of this type will have, on line 2, this "flag": # spooky

Istantanea_2024-08-15_20-56-08 png

installation scripts with this branding will be intercepted at installation time.

Anyone among you who is aware of applications of dubious transparency can do a Pull Request by adding the flag above, as shown in the screenshot.

A message will appear to let you choose to install them or not (default "N").

This is the message that will appear:

Istantanea_2024-08-15_21-00-40 png

And that's the only big change for this release!

Wait...

What? Do you notice anything different?

Yes, I added color to the installation process. I hope you like it:

simplescreenrecorder-2024-08-15_20.46.08.mkv.mp4

Among the other changes, the "install.am" module has been refactored and "SUDOCOMMAND" is about to be changed to "SUDOCMD".

What's Changed

  • Introduce check for spooky scripts, and some refactoring by @Samueru-sama in #849
  • "AM" 7.7: check "spooky" AppImages before installing them, plus "colored installation" by @ivan-hc in #850

Full Changelog: 7.6.2...7.7

"AM" 7.6.2

14 Aug 03:07
05cb066

Choose a tag to compare

Database transparency, here are the real numbers

From now on the -l or list option will show the total number of "real" applications only, therefore without including the helpers for "kdeutils" and "kdegames" or the reintroduced "adb"/"fastboot" and "npm" (for "platform-tools" and "node" respectively) or web apps.

The change will appear much more noticeable on the catalog, as both "real" apps and "helpers" or "items" will be counted separately.

The purpose of this update is to provide in a clear and detailed way how many applications it is actually possible to install with our package manager:

2120 unique applications, of these 1923 are AppImages. In addition to these, 79 objects are listed, including helpers of real application (for example "kdegames" and "kdeutils") and web apps ("ffwa").

Istantanea_2024-08-14_04-47-14 png

However, "helpers" and webapps will still be searchable and listed in both the list and queries. The change is only in counting.

For more details, visit https://portable-linux-apps.github.io


AppImage type name changes

As you may have noticed, already in -f you can see that all AppImages are classified in the same way, that is "appimage". The nomenclatures we used previously, that is "appimage2" and "appimage3", are no longer there.

For those who don't know, we indicated with "appimage2" those that still depended on "libfuse2", while the new generation ones we indicated with "appimage3".

From now on, to distinguish them, it will be necessary to pay attention to the asterisk in -f, those marked, still depend on libfuse2.

Istantanea_2024-08-14_04-57-14 png

The change was explicitly requested by the creator of AppImage (see #818 and #843).

Future implementations will improve support for all AppImages, and "AM"/"AppMan" will be the first to enhance this.

We're just waiting for a certain pull request to be approved...


Code refactoring

The install.am module has been refactored, simplifying its functions. The APP-MANAGER code has also undergone some changes.

This will make room for new implementations, which will involve updates to individual AppImages and conversion of old ones into new ones.

What's Changed

  • Use "Next Generation AppImage" instead of "Type3" by @ivan-hc in #843
  • "AM" 7.6.2: list only real apps + code refactoring by @ivan-hc in #846

Full Changelog: 7.6.1...7.6.2

"AM" 7.6.1

13 Aug 00:24
d623ca5

Choose a tag to compare

Improved "list" and "query"

A more elegant way to list and query all applications in this database:

Istantanea_2024-08-13_02-34-03 png Istantanea_2024-08-13_02-33-40 png

To recap:

  1. Option -l or list shows the whole list of apps available in this repository. This option uses less to show the list, so to exit its enough to press "Q". If the option -l is followed by --appimages, you will be able to see only the available AppImages.

This new release shows lists with colored item names, removed the invasive message at closing (after you press the "Q" key) and words are not cutted when the line is bigger than the widht of the terminal.

list-2024-08-13_02.35.34.mkv.mp4
  1. Option -q or query shows search results from the list above. If followed by --appimages, the search results will be only for the available AppImages. If followed by --pkg, all keywords will be listed also if not on the same line. This is good if you are looking for multiple packages.

Same colored items as -l, but with a more compat list to fit search results in the terminal.

query-2024-08-13_02.36.07.mkv.mp4

What's Changed

Full Changelog: 7.6...7.6.1

"AM" 7.6

12 Aug 00:39
dd5cac6

Choose a tag to compare

Support "doas" as an alternative for "sudo", plus other changes...

Now "AM" can use "doas" as alternative to "sudo".


Application list improvements

Now lists can contain more details by default and even more keywords.

Istantanea_2024-08-12_02-15-23

this change is useful to improve "categories" on our catalog, https://portable-linux-apps.github.io

Among these info we can add also whether if an application is Official or Unofficial.


Categories for the catalogue

Thanks to the am2pla-site script and the x86_64-apps list improved, now it is easier to add and improve categories on the webasite.

Here are all new pages added to https://portable-linux-apps.github.io from this repository:

even more categories will be added in future if you ask for them.

You can help us improving the website's pages by adding more information at x86_64-apps


Other changes

  • refactoring of the "database.am" module
  • fix a bug in -a about sizes of installed libraries
  • options -l and -q will use fold -sw 81 to prevent cutting words in long descriptions
  • removed the helpers "adb" and "fastboot" (for "platform-tools") and "npm" (for "node").

"AM" database statistics

We can divide the installation scripts into "unique programs" (AppImage and other portable formats), "helpers" (keywords to facilitate the installation of metapackages, such as unique programs) and "launchers".

Until today, August 12, 2024, we have 2196 installation sctipts for the x86_64 architecture:

  • 1923 unique AppImages
  • 197 standalone programs and command line utilities
  • 40 helpers for "kdegames"
  • 27 helpers for "kdeutils"
  • 9 launchers (ffwa, FireFox WebApps, or profiles)

Thanks to @Samueru-sama for the "doas" support and for helping me with the application's list!

Full Changelog: 7.5...7.6