Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make it easy to update app versions frequently, allow for manual installation #942

Closed
fevangelou opened this issue Sep 10, 2024 · 4 comments

Comments

@fevangelou
Copy link

Is there a way to assist in making sure app versions are up to date for AM?

Checking for example updates for the few apps I have installed via AM, they all seem to be a few versions behind actual published versions (e.g. lmstudio, jan & others).

I see you have a repo for listing the apps AM supports (https:/Portable-Linux-Apps/Portable-Linux-Apps.github.io), but (unless I'm mistaken) I can't see any config file that lists the actual versions in that repo, download links etc.

Is this app DB that AM uses open for contributions?

Moreover, have you considered a way to allow installing AppImages that are not listed in that repo? Like a manual mode (much like "apt install ./someapp.deb").

Thank you for AM.

@ivan-hc
Copy link
Owner

ivan-hc commented Sep 10, 2024

Hi

Is there a way to assist in making sure app versions are up to date for AM?

installed applications almost all have a file called AM-updater, which mostly includes a variable "$version" that refers to the URL or a number for the latest version of the app. The reference is almost always an upstream source, that is, owned by the creator of the app (for example, the github repository), in other cases they try to rely on a non-official but still "credible" source (for example "repology.org").

The only problem is the upstream, it could decide at any moment to change the source (for example its web page, if the app is not hosted on github or other "static" sources).

Checking for example updates for the few apps I have installed via AM, they all seem to be a few versions behind actual published versions (e.g. lmstudio, jan & others).

I generally tend to use official apps, but it can happen that the upstream developer decides not to create a certain packaging format anymore, be it an AppImage or any generic package for Linux.

Please report these apps to me and I will check. "AM" is not very well known, almost all owners are unaware that their portable app is searchable/installable via command line (this ease of use pushed me to create "AM", but often developers abandon certain formats in favor of Flatpak, precisely because of its centrality).

I see you have a repo for listing the apps AM supports (https:/Portable-Linux-Apps/Portable-Linux-Apps.github.io), but (unless I'm mistaken) I can't see any config file that lists the actual versions in that repo, download links etc.

I didn't have the time and opportunity to add the installation script to each app's page, but the script is available in the list, both as a blob and in raw (see screenshot).

Istantanea_2024-09-10_15-53-46 png

They are not configuration files, but installation scripts, which list all the steps that the script will perform during the installation at system level, in "AM" (and that through patches can be redirected to a rootless/local installation, for "AppMan").

They are SHELL/BASH scripts, to check (for example) the most recent reference version, it is sufficient to expand the variable "$version" (reference to the line "version=").

Is this app DB that AM uses open for contributions?

Sure, click the link on the footer...

Istantanea_2024-09-10_15-59-14 png

...or acceede at https:/Portable-Linux-Apps/Portable-Linux-Apps.github.io

As for the individual app pages, you can add as much information as you want, even donation links if needed... but to generate the lighthouse lists, I use this script that I created specifically, to generate all the pages

https:/ivan-hc/AM/blob/main/tools/am2pla-site

Moreover, have you considered a way to allow installing AppImages that are not listed in that repo? Like a manual mode (much like "apt install ./someapp.deb").

of course, there are two options for this:

  • "-e" or "extra", works for all AppImages on github
  • "-t" or "template", is the one we use to create the installation scripts available in this repository (and linked in the catalog in blob/raw, see screenshot above). Once the script is created, you can drag it into the terminal via the "-i" or "install" option, the one you usually use to install the listed apps.

The README has dedicated sections for this and much more.

Istantanea_2024-09-10_16-07-10 png

Thank you for AM.

You're welcome :)

@ivan-hc
Copy link
Owner

ivan-hc commented Sep 10, 2024

PS: when you said...

Is this app DB that AM uses open for contributions?

...were you referencing to the installation scripts? In that case, see https:/ivan-hc/AM/blob/main/CONTRIBUTING.md and follow the instructions for the above mentioned "-t" option.

Get this pull request as an example #932

@ivan-hc
Copy link
Owner

ivan-hc commented Sep 10, 2024

Checking for example updates for the few apps I have installed via AM, they all seem to be a few versions behind actual published versions (e.g. lmstudio, jan & others).

when you said these two apps, I was going to see what's happen so I have installed them and downloaded the scripts to check them:

  • jan is OK, it is installed and updated correctly https:/janhq/jan/releases I have not faced issues
  • lmstudio, on their main page there is only an x86/32bits AppImage 👀
    • this is their web page https://lmstudio.ai
    • this is the command I use to check the latest version
version=$(wget -q https://raw.githubusercontent.com/lmstudio-ai/lms/main/src/subcommands/version.ts -O - | grep "return" | head -1 | cut -d '"' -f 2)
wget "https://releases.lmstudio.ai/linux/$version/beta/LM_Studio-$version.AppImage" || exit 1

this is the reference file where I get the version number https:/lmstudio-ai/lms/blob/main/src/subcommands/version.ts updatet at 4 months ago, and it is the fofficial source.

Anyway, by checking https://repology.org/project/lmstudio/versions I discovered that the AUR package points to what it seems to be a 32bits AppImage... in 2024 👀

Its difficult to check the exact URL using "curl" and "wget" on their main page, this ir what the installation script installs

this instead is the URL of the latest release, from the web page

they are a bit different, and I would like to search in their APIs way to detect the exact URL.

I'll try to fix lmstudio ASAP

@fevangelou
Copy link
Author

I didn't have the time and opportunity to add the installation script to each app's page, but the script is available in the list, both as a blob and in raw (see screenshot).

Ivan, I've been working as an OSS dev for almost 20 years. Trust me when I say this: you've done a TON of work for everyone to benefit, for a better desktop experience :)

As for myself, "am -e" worked like a charm to pull apps off GitHub.

Mille grazie!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants