Skip to content

Linux AppImage: .DirIcon broken absolute symlink prevents installation via app-manager #202

@mattbell87

Description

@mattbell87

Bug Report

Version: v1.1.1 (and all prior releases)

Problem

Installing the Linux AppImage via AppManager (app-manager) fails with:

Install failed: Symlink target not found: home/runner/work/krillnotes/krillnotes/target/release/bundle/appimage/Krillnotes.AppDir/Krillnotes.png

Root Cause

Inside the AppImage, .DirIcon is a broken absolute symlink hardcoded to the CI build runner path:

.DirIcon -> /home/runner/work/krillnotes/krillnotes/target/release/bundle/appimage/Krillnotes.AppDir/Krillnotes.png

It should be a relative symlink pointing to Krillnotes.png (which does exist in the AppImage root). app-manager reads .DirIcon to extract the app icon during installation, follows this symlink, and fails because the absolute path does not exist on the user's machine.

Steps to Reproduce

  1. Download Krillnotes_1.1.1_amd64.AppImage
  2. Run app-manager install Krillnotes_1.1.1_amd64.AppImage
  3. Installation fails with the above error

Expected Behaviour

The AppImage installs successfully. .DirIcon should be a relative symlink: Krillnotes.png

Fix

The .DirIcon symlink is generated by linuxdeploy/appimagetool during the CI build. The release workflow needs a post-processing step in .github/workflows/release.yml to correct the symlink before the AppImage is packaged — e.g. rewriting .DirIcon as a relative symlink inside the AppDir before appimagetool runs.

Affected files: .github/workflows/release.yml

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions