/appimage-demo

Primary LanguageMakefileCreative Commons Zero v1.0 UniversalCC0-1.0

resources

internals

manual creation of appimage needs spec-complicant (contains AppRun exectuable) squashfs filesystem appeneded to their runtime:

mksquashfs Your.AppDir Your.squashfs -root-owned -noappend
cat runtime >> Your.AppImage
cat Your.squashfs >> Your.AppImage

The runtime elf binary contains empty sections, that are used to embed metadata:

  • update information
  • md5 digest
  • sha256 signature
  • signing key

updating

signing

metadata

in container

$ docker build -t appimage-demo -f Dockerfile .
$ docker run --rm -it \
  --mount=type=bind,src=$PWD,target=/src \
  --mount=type=volume,src=appimage-tmp,target=/tmp \
  --workdir=/src \
  appimage-demo \
  make bundle

demo app

usage: demo

  -U  self-update
  -v  print information
  -h  show this help