{"id":19773180,"url":"https://github.com/appimage/appimagetool","last_synced_at":"2025-04-04T21:05:34.653Z","repository":{"id":176495736,"uuid":"658450330","full_name":"AppImage/appimagetool","owner":"AppImage","description":"A low-level tool to generate an AppImage from an existing AppDir","archived":false,"fork":false,"pushed_at":"2025-03-10T23:34:10.000Z","size":118,"stargazers_count":164,"open_issues_count":25,"forks_count":22,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-28T20:05:40.338Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AppImage.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":"https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=ZT9CL8M5TJU72"}},"created_at":"2023-06-25T19:21:42.000Z","updated_at":"2025-03-26T21:59:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"521d3147-b214-4453-9320-334dfbeba29e","html_url":"https://github.com/AppImage/appimagetool","commit_stats":null,"previous_names":["appimage/appimagetool"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AppImage%2Fappimagetool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AppImage%2Fappimagetool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AppImage%2Fappimagetool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AppImage%2Fappimagetool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AppImage","download_url":"https://codeload.github.com/AppImage/appimagetool/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247249524,"owners_count":20908212,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T05:08:53.562Z","updated_at":"2025-04-04T21:05:34.637Z","avatar_url":"https://github.com/AppImage.png","language":"C","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=ZT9CL8M5TJU72"],"categories":[],"sub_categories":[],"readme":"# appimagetool ![Downloads](https://img.shields.io/github/downloads/AppImage/appimagetool/total.svg) [![irc](https://img.shields.io/badge/IRC-%23AppImage%20on%20libera.chat-blue.svg)](https://web.libera.chat/#AppImage) [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=ZT9CL8M5TJU72)\n\n## Usage\n\n`appimagetool` is used to generate an AppImage from an existing `AppDir`. Many community-provided higher-level [tools for deploying applications in AppImage format](https://github.com/AppImageCommunity/awesome-appimage/blob/main/README.md#appimage-developer-tools) use it internally. A precompiled version can be downloaded on [GitHub Releases](../..//releases), but in most cases you will be better off using one of the higher-level tools instead of using `appimagetool` directly.\n\nUsage in a nutshell, assuming that you already have an [AppDir](https://github.com/AppImage/AppImageSpec/blob/master/draft.md#appdir) in place:\n\n```\nARCH=x86_64 ./appimagetool-x86_64.AppImage some.AppDir\n```\n\nDetailed usage:\n```\nUsage:\n  appimagetool [OPTION...] SOURCE [DESTINATION] - Generate AppImages from existing AppDirs\n\nHelp Options:\n  -h, --help                  Show help options\n\nApplication Options:\n  -l, --list                  List files in SOURCE AppImage\n  -u, --updateinformation     Embed update information STRING; if zsyncmake is installed, generate zsync file\n  -g, --guess                 Guess update information based on environment variables set by common CI systems (GitHub actions, GitLab CI)\n  --version                   Show version number\n  -v, --verbose               Produce verbose output\n  -s, --sign                  Sign with gpg[2]\n  --comp                      Squashfs compression\n  -n, --no-appstream          Do not check AppStream metadata\n  --exclude-file              Uses given file as exclude file for mksquashfs, in addition to .appimageignore.\n  --runtime-file              Runtime file to use\n  --sign-key                  Key ID to use for gpg[2] signatures\n  --sign-args                 Extra arguments to use when signing with gpg[2]\n```\n\n### Environment variables\n\nSome of the parameters above can alternatively be specified as environment variables. Also, some additional environment variables are available, too.\n\n- `ARCH`: Needs to be set whenever appimagetool cannot automatically determine the architecture of the binaries inside the AppDir to choose a suitable runtime (e.g., when binaries for multiple architectures or just shell scripts are contained in there).\n- `APPIMAGETOOL_APP_NAME`: If no destination is set by the user, appimagetool automatically generates a suitable output filename, using the root desktop entry's `Name` field. With this environment variable, this value can be set explicitly by the user.\n- `APPIMAGETOOL_FORCE_SIGN`: By default, if signing fails, appimagetool just logs a warning but will not abort immediately. If this environment variable is set, appimagetool exits with a non-zero return code.\n- `APPIMAGETOOL_SIGN_PASSPHRASE`: If the `--sign-key` is encrypted and requires a passphrase to be used for signing (and, for some reason, GnuPG cannot be used interactively, e.g., in a CI environment), this environment variable can be used to safely pass the key.\n- `VERSION`: This value will be inserted by appimagetool into the root desktop file and (if the destination parameter is not provided by the user) in the output filename.\n\n## Building\n\nTo build for various architectures on a local machine (or on GitHub Codespaces) using Docker:\n\n* For 64 bit Intel, run `ARCH=x86_64 bash ./ci/build-in-docker.sh`\n* For 32 bit Intel, run `ARCH=i686 bash ./ci/build-in-docker.sh`\n\nIf you are on an Intel machine and would like to cross-compile for ARM:\n\n* Prepare the Docker system for cross-compiling with `docker run --rm --privileged multiarch/qemu-user-static --reset -p yes`, then run\n* For 64 bit ARM, run `ARCH=aarch64 bash ./ci/build-in-docker.sh`\n* For 32 bit ARM, run `ARCH=armhf bash ./ci/build-in-docker.sh`\n\n## Changelog\n\n* Unlike previous versions of this tool provided in the [AppImageKit](https://github.com/AppImage/AppImageKit/) repository, this version downloads the latest AppImage runtime (which will become part of the AppImage) from https://github.com/AppImage/type2-runtime/releases. If you do not like this (or if your build system does not have Internet access), you can supply a locally downloaded AppImage runtime using the `--runtime-file` parameter instead.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappimage%2Fappimagetool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fappimage%2Fappimagetool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappimage%2Fappimagetool/lists"}