Skip to content

Releases: ivan-hc/AM

"AM" 6.8.2

22 May 14:55
46d74b6
Compare
Choose a tag to compare

Improved the speed of the lists

Improved the speed of the options -a/about, -l/list and -f/files.

The function to check the versions of installed applications takes a long time to generate a list, especially if there are a lot of installed apps.

If the "version-args" file already exists, you no longer need to recreate it from scratch. You could also just create it:

  • when apps are installed (option -i);
  • when updates are made (option -u);
  • when the file is not present (for example using the option -c).

In the latter case, the first time you launch one of the affected options you may experience a slowdown, but all subsequent times you will rely only on the existing file.

As for the option -f, it also relies on a function that checks the type of app installed, so if the file listing the details of installed apps already exists, it will be preserved, unless they have been previously removed applications. In this case this list will be created again, while the version list will be left intact.

"AM" 6.8.1

20 May 12:15
2b0bc16
Compare
Choose a tag to compare

New installation interface for "wget", consistent with "wget2"

Given the imminent implementation of "wget2" in distributions like Fedora which, since version 40, has completely replaced "wget" with a symbolic link, I changed the loading interface from "dots" to "bar". This is also to show the user what is actually being downloaded.

wget

wget1

wget2

wget2


Other changes include:

  • corrected the download line for APP-MANAGER in the "sync.am" module, to allow updating "AM" also in "AppMan Mode" (see new option --user, "AM" 6.8);
  • fixed some bugs in "template.am"
  • reached 1987 in number of installation scripts for the x86_64 architecture, thanks to @Samueru-sama

Full Changelog: 6.8...6.8.1

"AM" 6.8

17 May 14:51
7fb4322
Compare
Choose a tag to compare

Easily switch from "AM" to "AppMan" and back to "AM"

Improved the option --user or appman, now its easier to switch from a CLI to another.

To enable the "AppMan Mode" in "AM" use the command:

am --user

An empty file named "appman-mode" will be created in "$HOME"/.config/appman, near the existing "appman-config" file.

In this way "AM" will be able to manage apps locally using the configuration files of "AppMan".

Having also "AppMan" installed near "AM" is no more necessary.

To use "AM" as "AM" normally, at system level, run the command:

am --system

The empty file named "appman-mode" will be removed from "$HOME"/.config/appman and "AM" will handle the apps installed at system level.

Here is a quick view using the option -f and -i in "AppMan Mode":

simplescreenrecorder-2024-05-17_16.33.55.mkv.mp4

The new option "--system" can be used also from "AppMan" but the option "--user" is not allowed, as always, for obvious reasons.

Also, the new "AppMan Mode" relies on the configuration files of "AppMan" and uses all its modules.

This feature is very useful in systems managed by multiple users, allowing at least local installation of applications and without having to install "AppMan" externally.

What's Changed

Full Changelog: 6.7.1...6.8

"AM" 6.7.1

17 May 00:29
1bf42fd
Compare
Choose a tag to compare

Let's start once again

This release introduces:

  • a cleanup of the general code
  • updating all installation scripts and consequent reduction of the patches to be applied to them ("-i" option)
  • the separation of functions for standalone use of the same and the reduction of duplicates
  • the introduction of new environment variables to be used in subsequent versions
  • resolution of various bugs, including one related to the creation of AppImage launchers ("--launcher" option) and the tracking of installed app versions

Most of the uploads are due to @zen0bit, especially the installation scripts and the introduction of new github workflows for automatically correcting syntax on new commits.

The next release should begin moving working directories from "$AMPATH/.cache" to the "$HOME/.cache" directory, for more inclusive use in multi-user systems.

"AM" 6.7

03 May 01:21
Compare
Choose a tag to compare

Two new options for developers and beta testers

Added two new options that allow you to use the "dev" branch with all new features (for beta testers and brave hearts)

To enable this, run

am --devmode-enable

or

appman --devmode-enable

Downloading of modules will be performed from the enabled branch. "main" is the default, while "dev" will be used if enabled with the"--devmode-enable" option.

To disable this, run

am --devmode-disable

or

appman --devmode-disable

Other changes

  • Solved a bug in "--launcher" where some launchers were not shown due to a missing "Name=" entry;
  • Started code refactoring by @zen0bit (first module updated, launcher.am);
  • Added a function that helps people with a non ordinary Linux distro and package manager to install the "jq" dependence from the upstream
    327544392-86865be0-005a-4566-9324-36596f7d62fe
    if the presence of an ordinary package manager is detected (apt, dnf, pacman, emerge...), you will simply be asked to install it from there.

From this release, each special operation will have a dedicated branch and major updates will be extensively tested by the AM team for at least a week, in the "dev" branch. If you want to join the development and report bugs and various improvements in the code of future versions, simply enable the "dev" branch and report any problems to us.

They tested, proposed and participated in this version @nazdridoy @zen0bit @Samueru-sama

"AM" 6.6.4

29 Apr 04:12
1d2ae92
Compare
Choose a tag to compare

New "jq" dependency to read JSON files in github APIs

I hate having to introduce new dependencies, but this was driven by the adoption of "wget2" as a replacement for "wget" in Fedora 40 using a symlink. Normally page outputs in JSON format take a different form depending on the user agent, so tools like "wget2" tend to show different output than its predecessor.

Istantanea_2024-04-29_06-13-32

With this release we prepare for what the future will be:

  • we applied patches in the "install.am" module to identify the version of "wget" in use, and from there choose the installation interface/progress bar;
  • the introduction of "jq" will be enabled if the installation script contains references to api.github.com;
  • also replaced "wget" with "curl" in some modules, using a corresponding command.

Not many changes, other than the ability to install "wget" version 1.x (from Debian Stable) if you don't like your distribution and the way "wget2" works.

am -i wget

As for me, I am thrilled to have the possibility in the future to use such a powerful tool as "wget2", but there is still a lot of work to be done in terms of compatibility with the program it is supposed to replace, namely "wget ", as at present they are still incompatible with each other.

Latest PR #528

If you want to support the project, visit https://github.com/rockdaboot/wget2

Full Changelog: 6.6.3.1...6.6.4

"AM" 6.6.3.1

27 Apr 18:03
38e2066
Compare
Choose a tag to compare

Some minor improvements to the security of apps and AM itself

Added a function to secure scripts "remove" of AM and the apps installed with it, this will add a command to the second line of such scripts to prevent their use by non-privileged users, in APP-MANAGER. This is what you, "AM" users, will find in your remove scripts at first use of this release:

if [ -z "$SUDO_COMMAND" ]; then echo "Permission denied"; exit 1; fi

a remove script will look like this:

#!/bin/sh
if [ -z "$SUDO_COMMAND" ]; then echo "Permission denied"; exit 1; fi
rm -R -f /usr/share/applications/AM-anydesk.desktop /opt/anydesk /usr/local/bin/anydesk

The "-i" option will also automatically add this to new installed apps, using this function:

if [ $AMCLI == am ] 2>/dev/null; then
	$SUDOCOMMAND sed -i '1 a if [ -z "$SUDO_COMMAND" ]; then echo "Permission denied"; exit 1; fi' $APPSPATH/$(cd $APPSPATH && ls -td * | head -1)/remove 2> /dev/null
	$SUDOCOMMAND chown -R $currentuser $APPSPATH/$(cd $APPSPATH && ls -td * | head -1) 2> /dev/null
fi

and as you can see I also repositioned the already existing "chown" reference so that it doesn't affect "AppMan" anymore.

For more detail about commits, see #521

PS: I normally reserve this space for the release notes, but since over 200 commits have been made from version 6.6.2 to this strange 6.6.3.1, it is my duty to give you some explanation on what happened and why this version is not called 6.6.3.


What happened to "AM" 6.6.3?

The choice to assign four digits to the number of this release arose from the need to distinguish it from release 6.6.3 which was instead cancelled, following numerous problems that arose with permissions on installed applications. These choices I made were strongly influenced by the need of some members of the development team to associate "AM" with any package manager, which could therefore be managed by multiple system administrators. But that's not the way I wanted to conceive it:

  • since always, the first user to install "AM" is the owner of "AM" (i.e. "$currentuser");
  • using "AM" with accounts other than the one that have installed "AM" will always result in command reading/writing errors, due to permissions.

Starting from this issue , this is what version 6.6.3 was supposed to solve, but instead of bringing improvements, it only caused problems for many users (see #512), and especially for users of Fedora 40 (released at the same time), who, not knowing about the choice of the Fedora team of the transition from "wget" to "wget2" (which approaches the github API in a completely different way) have associated the impossibility of downloading modules and applications to "AM" 6.6.3 (see #496), thus magnifying both my faults and those of that release "cursed".

The only positive note in this misadventure is @Samueru-sama 's incredible work in correcting all the installation scripts to adapt them to the new installation mode available from version 6.6.2, which is what I think is the best of all.

What happened certainly went unnoticed in the eyes of AppMan users, who will have instead noticed a strange transition from version 6.6.2 to 6.6.3 and again to version 6.6.2. About "AM", the downgrade of APP-MANAGER and all the modules necessary to make "AM" work was an obvious choice (see #515).

If you still have problems due to "AM" 6.6.3, I recommend removing "AM":

sudo /opt/am/remove

and reinstall it. Do the same with all installed apps:

sudo /opt/$APP/remove

or

am -R $APP

Conclusions

From the beginning I dreamed of transforming "AM" into a community project, and since I have had collaborators, all very good, the project has improved and grown, above all thanks to their advice.

Nonetheless, community choices are not always the right ones, and after this sad experience, as the creator and owner of this repository... I take note of it.

From now on the choices I make will be mine, without external influences on the guidelines:

  • I will accept all suggestions and collaborations necessary to improve existing features
  • I will accept to develop new extensions aimed at satisfying more requests
  • I will accept to implement more features with the collaboration of more users
  • any attempt to distort the core of this project will be denied
  • the involvement of other system files other than those already involved in the "AM" installation script will be denied

I've always had an idea about what "AM" should be, I won't change my mind so easily in the future.

You all have learned to love "AM" for what it is. I will not change your habits.

I use GNU/Linux since 2009, I will not repeat the same mistakes that led me to hate GNOME, Ubuntu, and many other projects that I once considered good. Because of them, I know what it means to have disappointments, so I will always be ready to listen to the requests of those who choose "AM", "AppMan" and other of my solutions available in my repositories over other similar solutions.

Once again, I apologize for the inconvenience caused.

Thanks again to everyone who support and appreciates the work I'm doing here.

See you next. Ivan


Full Changelog: 6.6.2...6.6.3.1

"AM" 6.6.3

07 May 18:32
45ff3a5
Compare
Choose a tag to compare

This release has been cancelled.

Please see https://github.com/ivan-hc/AM/releases/tag/6.6.3.1

"AM" 6.6.2

22 Apr 08:08
abb761f
Compare
Choose a tag to compare

The installation progress status... is now "a living one"!

Improved the installation process (option -i or install) by showing the progress bar (shown in dots) in real time!

SYNTAX

am -i $PROGRAM

or

appman -i $PROGRAM

No other words... just watch (or test by yourself):

simplescreenrecorder-2024-04-22_00.35.05.mkv.mp4

this was made possible by appling some patches to the installation scripts to silence unwanted messages.

To remove the patches and watch the real installation progress with all messages, use the command

am -i --debug $PROGRAM

or

appman -i --debug $PROGRAM

Among other changes

  • show messages in option -u in case no app is updatable or updated
  • excluded am from the list of installed apps in -l (its not installable with itself, but it can be only "managed", so it is shown in -f instead)
  • removed the sub-option --libs from -l, and any reference of it, installable libraries will be found using -q
  • the option -f now uses the function "_check_version" from the main CLI, already used in other options (-u, -l and -i)
  • fixed various bugs in the installation scripts (and in paticular the new ones)
  • the installation scripts number for the x86_64 architecture is now 1976
  • first steps to help AppTUI (an GUM-based unofficial UI frontend for "AM"/AppMan) to be a reality

Full Changelog: 6.6.1...6.6.2

"AM" 6.6.1

19 Apr 10:43
90ce4ba
Compare
Choose a tag to compare

Versions everywhere... ? 🤔

Huge changes in -u and -l:

  • Now when updating apps, you can keep track of new versions of the installed apps (option -u or update)
simplescreenrecorder-2024-04-19_11.57.17.mkv.mp4
  • You can also view installed apps and their versions from the list (option -l or list)

Istantanea_2024-04-19_12-30-35
Istantanea_2024-04-19_12-30-15

  • Among the other changes there is also a refactoring and a restyle of the APP-MANAGER script, by @zen0bit

Full Changelog: 6.6...6.6.1