AppImage Installer for EasyOS
I have created an installer for AppImages. Still needs more work,
but basically working. The first window is a tabbed-list of AppImages:
...the tick in the second column means the AppImage is already installed.
Bottom-left of the window is a help button; here it is:
Under the Video tab, I chose "ShotCut", then clicked the
"Install/Update/delete" button, and the AppImage was downloaded and
installed. Then a confirmation window:
...that is informing ready-to-go. Select from the menu, or if you
want to see any error messages, run "shotcut" in a terminal. Here is the
final information window:
However, ShotCut aborted at startup, showed the splash screen, then
crash, no error message. So, I have removed it from the "Video" tab.
As I am discovering, it is a gamble whether an AppImage will work, so
I test each one and add it to the Installer only if it works with Easy
Kirkstone.
There is, however, a matter of considerable concern about AppImages...
Two of the failures are due to libraries bundled inside the AppImage
requiring a later version of glibc than is in the host system (Easy
Kirkstone 5.0) -- they are CozyDrive and OpenShot. I found this information:
https://discourse.appimage.org/t/specify-required-glibc-version-in-appimage/2413
So, the developer who created the AppImage may have bundled libraries
that require a later version of glibc than is in the host system. The
link does state that the developer can bundle glibc, but that is
optional. It also states that if glibc is not bundled, the developer
should be running a distro with glibc version no later than that in the
oldest Ubuntu LTS version. Quoting from above link:
We currently have no way to specify the minimal glibc version needed.
But we recommend to build AppImages on no newer distribution
than the oldest still-supported LTS release of Ubuntu. This is also the
requirement to be listed on AppImageHub.
I very much doubt that developers will be running such an old distro.
More likely they have a recent version, or a rolling-release distro.
This is leading me to think that developers should be required to bundle glibc, even though it does make the AppImage bigger.
There is another worry...
Eight AppImages work. I downloaded the latest versions off github.
But, what if someone comes along later, downloads the latest version of
an AppImage, but the developer has upgraded his or her distro, with a
later glibc, and built the AppImage with libraries from the updated
distro?
Very unsatisfactory.
There are two ways that I can work around this problem...
Firstly, download a specific version of the AppImage, known to work in Easy Kirkstone, rather than the latest available.
Secondly, open up the AppImage before installation and check whether
glibc is bundled. If not check that the libraries will work with the
host glibc.
I am disappointed that this problem has been allowed to exist.
Anyway, I will implement one of the workarounds.
EDIT:
Also, the opposite problem can occur, a binary requiring an older
version of glibc than is on the host system. This can occur despite
glibc supposed to be backwards-compatible.
scsijon and don570 have commented on this in the forum:
https://forum.puppylinux.com/viewtopic.php?p=84150#p84150
jamesbond has some notes on this topic:
https://www.lightofdawn.org/wiki/wiki.cgi/NewAppsOnOldGlibc
EDIT 2023-03-15:
Follow-up blog post:
https://bkhome.org/news/202303/wrapping-up-appimage-installer.html
Tags: easy