Git Product home page Git Product logo

appimagelint's People

Contributors

probonopd avatar theassassin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

appimagelint's Issues

Be more verbose on AppImages with non-standard icon sizes

The PrusaSlicer-2.0.0-rc2+linux64-201905190649.AppImage icon does not show up in the menu because it is 154x154.

me@host:~/Desktop$ /isodevice/Applications/PrusaSlicer-2.0.0-rc2+linux64-201905190649.AppImage --appimage-extract '*PrusaSlicer.png'
squashfs-root/PrusaSlicer.png
me@host:~/Desktop$ /isodevice/Applications/PrusaSlicer-2.0.0-rc2+linux64-201905190649.AppImage --appimage-extract '*.png'
squashfs-root/PrusaSlicer.png
me@host:~/Desktop$ file squashfs-root/PrusaSlicer.png 
squashfs-root/PrusaSlicer.png: PNG image data, 154 x 154, 8-bit/color RGBA, non-interlaced
me@host:~/Desktop$ /isodevice/Applications/PrusaSlicer-2.0.0-rc2+linux64-201905190649.AppImage --appimage-extract '.DirIcon'
squashfs-root/.DirIcon
me@host:~/Desktop$ file squashfs-root/.DirIcon 
squashfs-root/.DirIcon: symbolic link to PrusaSlicer.png

appimagelint says

appimagelint.icon_check[4322] [INFO] [✖] Valid icon in AppDir root
appimagelint.icon_check[4322] [INFO] [✖] Valid icon file in .DirIcon

For me as a developer, this information would not be particularly insightful. It would be good if it would say that the icon has the wrong size.

Does not handle svgz properly

As per the xdg icon spec, svgz is an allowed format.

me@host:~$ /isodevice/Applications/kdenlive-19.04.2d-x86_64.appimage'
(...)
appimagelint.icon_check[4820] [WARNING] Icon has invalid extension: .svgz
appimagelint.icon_check[4820] [INFO] Checking resolution of icon: /tmp/.mount_kdenliKrW8nP/usr/share/icons/hicolor/scalable/apps/kdenlive.svgz
appimagelint.icon_check[4820] [ERROR] Failed to identify icon /tmp/.mount_kdenliKrW8nP/usr/share/icons/hicolor/scalable/apps/kdenlive.svgz
Traceback (most recent call last):
  File "/tmp/.mount_appimakQLSlC/usr/conda/lib/python3.7/site-packages/appimagelint/checks/icons.py", line 266, in _get_icon_res
    im = Image.open(icon_path)
  File "/tmp/.mount_appimakQLSlC/usr/conda/lib/python3.7/site-packages/PIL/Image.py", line 2705, in open
    % (filename if filename else fp))
OSError: cannot identify image file '/tmp/.mount_kdenliKrW8nP/usr/share/icons/hicolor/scalable/apps/kdenlive.svgz'
appimagelint.icon_check[4820] [ERROR] could not detect resolution in icon file /tmp/.mount_kdenliKrW8nP/usr/share/icons/hicolor/scalable/apps/kdenlive.svgz
appimagelint.icon_check[4820] [WARNING] icon /tmp/.mount_kdenliKrW8nP/usr/share/icons/hicolor/scalable/apps/kdenlive.svgz has invalid resolution
appimagelint.icon_check[4820] [ERROR] Failed to identify icon /tmp/.mount_kdenliKrW8nP/usr/share/icons/hicolor/scalable/apps/kdenlive.svgz
Traceback (most recent call last):
  File "/tmp/.mount_appimakQLSlC/usr/conda/lib/python3.7/site-packages/appimagelint/checks/icons.py", line 266, in _get_icon_res
    im = Image.open(icon_path)
  File "/tmp/.mount_svgzappimakQLSlC/usr/conda/lib/python3.7/site-packages/PIL/Image.py", line 2705, in open
    % (filename if filename else fp))
OSError: cannot identify image file '/tmp/.mount_kdenliKrW8nP/usr/share/icons/hicolor/scalable/apps/kdenlive.svgz'
appimagelint.icon_check[4820] [ERROR] Icon resolution doesn't match resolution in path: scalable (file resolution is None)
appimagelint.icon_check[4820] [WARNING] Icon found whose file name doesn't match the Icon= entry in desktop file: hicolor/scalable/mimetypes/application-x-kdenlive.svgz
appimagelint.icon_check[4820] [WARNING] Icon found whose file name doesn't match the Icon= entry in desktop file: hicolor/scalable/mimetypes/application-x-kdenlivetitle.svgz
appimagelint.icon_check[4820] [WARNING] Icon found whose file name doesn't match the Icon= entry in desktop file: hicolor/scalable/mimetypes/video-mlt-playlist.svgz
appimagelint.icon_check[4820] [WARNING] no other icons found
appimagelint.icon_check[4820] [INFO] [✖] Other integration icons valid

appimagelint should not die if it can't open the icon its testing

Tested with fiddlereverywhere https://www.telerik.com/download/fiddler-everywhere

appimagelint.icons_check[80690] [INFO] [✔] Valid icon in AppDir root
appimagelint.icons_check[80690] [INFO] Checking resolution of icon: /tmp/.mount_fiddleGMyyLA/.DirIcon
Traceback (most recent call last):
  File "/home/stu/.local/bin/appimagelint", line 33, in <module>
    sys.exit(load_entry_point('appimagelint', 'console_scripts', 'appimagelint')())
  File "/home/stu/src/appimagelint/appimagelint/cli.py", line 142, in run
    for testres in check.run():
  File "/home/stu/src/appimagelint/appimagelint/checks/icons.py", line 106, in run
    dotdiricon_valid = self._check_icon_for_valid_resolution(op.join(mountpoint, ".DirIcon"))
  File "/home/stu/src/appimagelint/appimagelint/checks/icons.py", line 279, in _check_icon_for_valid_resolution
    res = self._get_icon_res(icon_path)
  File "/home/stu/src/appimagelint/appimagelint/checks/icons.py", line 245, in _get_icon_res
    is_svg = self._is_svg(icon_path)
  File "/home/stu/src/appimagelint/appimagelint/checks/icons.py", line 222, in _is_svg
    with open(icon_path) as f:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/.mount_fiddleGMyyLA/.DirIcon'

feature request: detect hardcoded paths in AppRun

my AppImage was failing because of a hardcoded rpath:

/tmp/.mount_zrythmaLNdzc//usr/bin/zrythm: error while loading shared libraries: /usr/lib/zrythm/carla/libcarla_host-plugin.so: cannot open shared object file: No such file or directory

related info from readelf -d:

0x000000000000001d (RUNPATH)            Library runpath: [/usr/lib/zrythm/carla]
0x0000000000000001 (NEEDED)             Shared library: [/usr/lib/zrythm/carla/libcarla_host-plugin.so]

I used patchelf to fix these issues. I think appimagelint should detect hardcoded paths like these

appimagelint check fails on itself

580e368 on xubuntu-19.04-desktop-amd64.iso:

me@host:~$ ./appimagelint-x86_64.AppImage ./appimagelint-x86_64.AppImage
(...)
appimagelint.icon_check[3858] [INFO] Extracting icon name from desktop file: /tmp/.mount_appimaG0IjOz/appimagelint.desktop
appimagelint.icon_check[3858] [INFO] [✖] Valid icon in AppDir root
appimagelint.icon_check[3858] [ERROR] Failed to identify icon /tmp/.mount_appimaG0IjOz/.DirIcon
Traceback (most recent call last):
  File "/tmp/.mount_appimaLTNErW/usr/conda/lib/python3.7/site-packages/appimagelint/checks/icons.py", line 251, in _get_icon_res
    im = Image.open(icon_path)
  File "/tmp/.mount_appimaLTNErW/usr/conda/lib/python3.7/site-packages/PIL/Image.py", line 2705, in open
    % (filename if filename else fp))
OSError: cannot identify image file '/tmp/.mount_appimaG0IjOz/.DirIcon'
appimagelint.icon_check[3858] [INFO] [✖] Valid icon file in .DirIcon
appimagelint.icon_check[3858] [WARNING] icon /tmp/.mount_appimaG0IjOz/usr/share/icons/hicolor/scalable/apps/appimagelint.svg has invalid resolution
appimagelint.icon_check[3858] [ERROR] Icon resolution doesn't match resolution in path: scalable (file resolution is None)
appimagelint.icon_check[3858] [INFO] [✖] Other integration icons valid

me@host:~$ ./appimagelint-x86_64.AppImage --version
usage: appimagelint [-h] [--debug] [--log-source-location] [--log-timestamps]
                    [--force-colors] [--json-report [JSON_REPORT]]
                    path [path ...]
appimagelint: error: the following arguments are required: path

Invalidate caches on misses and retry

See #24. There may be times when the caches become out of date but won't be refreshed automatically. We should move to having some central cache service system, which can handle such problems.

I have issues with icons on Ultimaker Cura and Freecad Weekly

For Freecad Weekly, it shows there might be some issues with icons/images/desktop files but with the Ultimaker Cura, it does not mention anything wrong.

Is there any other way to check why the desktop Icons of Cura are not being added?

Here is an example of the output of the Ultimaker Cura:

Ultimaker Cura can be found here:
https://github.com/Ultimaker/Cura/releases

image

~/Applications …
➜ ./appimagelint-x86_64.AppImage UltiMaker-Cura-5.3.0-linux-modern_e28662e535aaa193d463e77b5b7b091f.AppImage 
appimagelint.cli[608138] [INFO] Checking AppImage UltiMaker-Cura-5.3.0-linux-modern_e28662e535aaa193d463e77b5b7b091f.AppImage
appimagelint.cli[608138] [INFO] Running check "GNU libc ABI check"
appimagelint.glibc_abi_check[608138] [INFO] detected required version for runtime: 2.14
appimagelint.glibc_abi_check[608138] [INFO] detected required version for payload: 2.35
appimagelint.glibc_abi_check[608138] [INFO] [✖] AppImage can run on Debian oldstable (buster)
appimagelint.glibc_abi_check[608138] [INFO] [✖] AppImage can run on Debian stable (bullseye)
appimagelint.glibc_abi_check[608138] [INFO] [✔] AppImage can run on Debian testing (bookworm)
appimagelint.glibc_abi_check[608138] [INFO] [✔] AppImage can run on Debian unstable (sid)
appimagelint.glibc_abi_check[608138] [INFO] [✔] AppImage can run on Ubuntu kinetic
appimagelint.glibc_abi_check[608138] [INFO] [✔] AppImage can run on Ubuntu jammy
appimagelint.glibc_abi_check[608138] [INFO] [✖] AppImage can run on Ubuntu focal
appimagelint.glibc_abi_check[608138] [INFO] [✖] AppImage can run on Ubuntu bionic
appimagelint.glibc_abi_check[608138] [INFO] [✖] AppImage can run on Ubuntu xenial
appimagelint.glibc_abi_check[608138] [INFO] [✖] AppImage can run on Ubuntu trusty
appimagelint.glibc_abi_check[608138] [INFO] [✖] AppImage can run on CentOS 7
appimagelint.cli[608138] [INFO] Running check "GNU libstdc++ ABI check"
appimagelint.glibcxx_abi_check[608138] [INFO] detected required version for runtime: <none>
appimagelint.glibcxx_abi_check[608138] [INFO] detected required version for payload: 3.4.30
appimagelint.glibcxx_abi_check[608138] [INFO] [✖] AppImage can run on Debian oldstable (buster)
appimagelint.glibcxx_abi_check[608138] [INFO] [✖] AppImage can run on Debian stable (bullseye)
appimagelint.glibcxx_abi_check[608138] [INFO] [✖] AppImage can run on Debian testing (bookworm)
appimagelint.glibcxx_abi_check[608138] [INFO] [✖] AppImage can run on Debian unstable (sid)
appimagelint.glibcxx_abi_check[608138] [INFO] [✔] AppImage can run on Ubuntu kinetic
appimagelint.glibcxx_abi_check[608138] [INFO] [✔] AppImage can run on Ubuntu jammy
appimagelint.glibcxx_abi_check[608138] [INFO] [✖] AppImage can run on Ubuntu focal
appimagelint.glibcxx_abi_check[608138] [INFO] [✖] AppImage can run on Ubuntu bionic
appimagelint.glibcxx_abi_check[608138] [INFO] [✖] AppImage can run on Ubuntu xenial
appimagelint.glibcxx_abi_check[608138] [INFO] [✖] AppImage can run on Ubuntu trusty
appimagelint.glibcxx_abi_check[608138] [INFO] [✖] AppImage can run on CentOS 7
appimagelint.cli[608138] [INFO] Running check "Icons validity and location check"
appimagelint.icons_check[608138] [INFO] Extracting icon name from desktop file: /tmp/.mount_UltiMas2dDL9/cura.desktop
appimagelint.icons_check[608138] [INFO] Checking resolution of icon: /tmp/.mount_UltiMas2dDL9/cura-icon.png
appimagelint.icons_check[608138] [INFO] [✔] Valid icon in AppDir root
appimagelint.icons_check[608138] [INFO] Checking resolution of icon: /tmp/.mount_UltiMas2dDL9/.DirIcon
appimagelint.icons_check[608138] [INFO] [✔] Valid icon file in .DirIcon
appimagelint.icons_check[608138] [INFO] [✔] Other integration icons valid
appimagelint.cli[608138] [INFO] Running check "Desktop files existence and validity"
appimagelint.desktop_files[608138] [INFO] Checking desktop files in root directory
appimagelint.desktop_files[608138] [INFO] [✔] Exactly one desktop file in AppDir root
appimagelint.desktop_files[608138] [INFO] Checking desktop file /tmp/.mount_UltiMazXvIZr/cura.desktop with desktop-file-validate
appimagelint.desktop_files[608138] [INFO] [✔] All desktop files in AppDir are valid

Which looks completely different than what is expected on Freecad Weekly:

Freecad Weekly can be found here: https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/weekly-builds

image

~/Applications …
➜ ./appimagelint-x86_64.AppImage FreeCAD_weekly-builds-31917-2023-03-19-conda-Linux-x86_64-py310.AppImage 
appimagelint.cli[597535] [INFO] Checking AppImage FreeCAD_weekly-builds-31917-2023-03-19-conda-Linux-x86_64-py310.AppImage
appimagelint.cli[597535] [INFO] Running check "GNU libc ABI check"
appimagelint.glibc_abi_check[597535] [INFO] detected required version for runtime: 2.14
appimagelint.glibc_abi_check[597535] [INFO] detected required version for payload: 2.33
appimagelint.cache[597535] [INFO] Fetching glibc version data for debian
appimagelint.setup[597535] [INFO] Fetching glibc package versions from Debian sources API
appimagelint.glibc_abi_check[597535] [INFO] [✖] AppImage can run on Debian oldstable (buster)
appimagelint.glibc_abi_check[597535] [INFO] [✖] AppImage can run on Debian stable (bullseye)
appimagelint.glibc_abi_check[597535] [INFO] [✔] AppImage can run on Debian testing (bookworm)
appimagelint.glibc_abi_check[597535] [INFO] [✔] AppImage can run on Debian unstable (sid)
appimagelint.cache[597535] [INFO] Fetching glibc version data for ubuntu
appimagelint.setup[597535] [INFO] Fetching glibc package versions from Ubuntu FTP mirror
appimagelint.glibc_abi_check[597535] [INFO] [✔] AppImage can run on Ubuntu kinetic
appimagelint.glibc_abi_check[597535] [INFO] [✔] AppImage can run on Ubuntu jammy
appimagelint.glibc_abi_check[597535] [INFO] [✖] AppImage can run on Ubuntu focal
appimagelint.glibc_abi_check[597535] [INFO] [✖] AppImage can run on Ubuntu bionic
appimagelint.glibc_abi_check[597535] [INFO] [✖] AppImage can run on Ubuntu xenial
appimagelint.glibc_abi_check[597535] [INFO] [✖] AppImage can run on Ubuntu trusty
appimagelint.cache[597535] [INFO] Fetching glibc version data for centos
appimagelint.setup[597535] [INFO] Fetching glibc package versions from CentOS mirror
appimagelint.glibc_abi_check[597535] [INFO] [✖] AppImage can run on CentOS 7
appimagelint.cli[597535] [INFO] Running check "GNU libstdc++ ABI check"
appimagelint.glibcxx_abi_check[597535] [INFO] detected required version for runtime: <none>
appimagelint.glibcxx_abi_check[597535] [INFO] detected required version for payload: 3.4.30
appimagelint.cache[597535] [INFO] Fetching glibcxx version data for debian
appimagelint.gnu_lib_versions_symbols_finder[597535] [WARNING] no binaries found in /dev/shm/appimagelint-5gvg3arn.tmp/out/
appimagelint.gnu_lib_versions_symbols_finder[597535] [WARNING] no binaries found in /dev/shm/appimagelint-fndju916.tmp/out/
appimagelint.gnu_lib_versions_symbols_finder[597535] [WARNING] no binaries found in /dev/shm/appimagelint-pugd44a3.tmp/out/
appimagelint.gnu_lib_versions_symbols_finder[597535] [WARNING] no binaries found in /dev/shm/appimagelint-0yafo_a4.tmp/out/
appimagelint.glibcxx_abi_check[597535] [INFO] [✖] AppImage can run on Debian oldstable (buster)
appimagelint.glibcxx_abi_check[597535] [INFO] [✖] AppImage can run on Debian stable (bullseye)
appimagelint.glibcxx_abi_check[597535] [INFO] [✖] AppImage can run on Debian testing (bookworm)
appimagelint.glibcxx_abi_check[597535] [INFO] [✖] AppImage can run on Debian unstable (sid)
appimagelint.cache[597535] [INFO] Fetching glibcxx version data for ubuntu
appimagelint.gnu_lib_versions_symbols_finder[597535] [WARNING] no binaries found in /dev/shm/appimagelint-n6u_x6xf.tmp/out/
appimagelint.gnu_lib_versions_symbols_finder[597535] [WARNING] no binaries found in /dev/shm/appimagelint-ejazizt8.tmp/out/
appimagelint.gnu_lib_versions_symbols_finder[597535] [WARNING] no binaries found in /dev/shm/appimagelint-qrigh4ny.tmp/out/
appimagelint.gnu_lib_versions_symbols_finder[597535] [WARNING] no binaries found in /dev/shm/appimagelint-vqqpktak.tmp/out/
appimagelint.gnu_lib_versions_symbols_finder[597535] [WARNING] no binaries found in /dev/shm/appimagelint-bwriaghg.tmp/out/
appimagelint.gnu_lib_versions_symbols_finder[597535] [WARNING] no binaries found in /dev/shm/appimagelint-tan80359.tmp/out/
appimagelint.glibcxx_abi_check[597535] [INFO] [✔] AppImage can run on Ubuntu kinetic
appimagelint.glibcxx_abi_check[597535] [INFO] [✔] AppImage can run on Ubuntu jammy
appimagelint.glibcxx_abi_check[597535] [INFO] [✖] AppImage can run on Ubuntu focal
appimagelint.glibcxx_abi_check[597535] [INFO] [✖] AppImage can run on Ubuntu bionic
appimagelint.glibcxx_abi_check[597535] [INFO] [✖] AppImage can run on Ubuntu xenial
appimagelint.glibcxx_abi_check[597535] [INFO] [✖] AppImage can run on Ubuntu trusty
appimagelint.cache[597535] [INFO] Fetching glibcxx version data for centos
appimagelint.setup[597535] [INFO] Fetching libstdc++ package versions from CentOS mirror
appimagelint.glibcxx_abi_check[597535] [INFO] [✖] AppImage can run on CentOS 7
appimagelint.cli[597535] [INFO] Running check "Icons validity and location check"
appimagelint.icons_check[597535] [INFO] Extracting icon name from desktop file: /tmp/.mount_FreeCAk4Jhzv/freecad_weekly.desktop
appimagelint.icons_check[597535] [WARNING] Multiple matching icons found in AppDir root, checking all
appimagelint.icons_check[597535] [INFO] Checking resolution of icon: /tmp/.mount_FreeCAk4Jhzv/freecad_weekly.png
appimagelint.icons_check[597535] [WARNING] icon X resolution 60 is unknown, icon will most likely not be used and just wastes space
appimagelint.icons_check[597535] [WARNING] icon Y resolution 60 is unknown, icon will most likely not be used and just wastes space
appimagelint.icons_check[597535] [INFO] Checking resolution of icon: /tmp/.mount_FreeCAk4Jhzv/freecad_weekly.svg
appimagelint.icons_check[597535] [INFO] [✔] Valid icon in AppDir root
appimagelint.icons_check[597535] [INFO] Checking resolution of icon: /tmp/.mount_FreeCAk4Jhzv/.DirIcon
appimagelint.icons_check[597535] [WARNING] icon X resolution 60 is unknown, icon will most likely not be used and just wastes space
appimagelint.icons_check[597535] [WARNING] icon Y resolution 60 is unknown, icon will most likely not be used and just wastes space
appimagelint.icons_check[597535] [INFO] [✔] Valid icon file in .DirIcon
appimagelint.icons_check[597535] [INFO] Checking resolution of icon: /tmp/.mount_FreeCAk4Jhzv/usr/share/icons/default/freecad_weekly.png
appimagelint.icons_check[597535] [WARNING] icon X resolution 60 is unknown, icon will most likely not be used and just wastes space
appimagelint.icons_check[597535] [WARNING] icon Y resolution 60 is unknown, icon will most likely not be used and just wastes space
appimagelint.icons_check[597535] [WARNING] Icon default/freecad_weekly.png is in non-standard location
appimagelint.icons_check[597535] [WARNING] Could not find icon resolution at expected position in path, trying to guess from entire path
appimagelint.icons_check[597535] [ERROR] Could not extract resolution from icon path,should be usr/share/icons/<theme>/<res>/apps/<name>.<ext>
appimagelint.icons_check[597535] [WARNING] Icon found whose file name doesn't match the Icon= entry in desktop file: hicolor/16x16/apps/freecad.png
appimagelint.icons_check[597535] [WARNING] Icon found whose file name doesn't match the Icon= entry in desktop file: hicolor/32x32/apps/freecad.png
appimagelint.icons_check[597535] [WARNING] Icon found whose file name doesn't match the Icon= entry in desktop file: hicolor/48x48/apps/freecad.png
appimagelint.icons_check[597535] [WARNING] Icon found whose file name doesn't match the Icon= entry in desktop file: hicolor/64x64/apps/freecad.png
appimagelint.icons_check[597535] [WARNING] Icon found whose file name doesn't match the Icon= entry in desktop file: hicolor/scalable/apps/freecad.svg
appimagelint.icons_check[597535] [WARNING] Icon found whose file name doesn't match the Icon= entry in desktop file: hicolor/scalable/apps/org.freecadweb.FreeCAD.svg
appimagelint.icons_check[597535] [WARNING] Icon found whose file name doesn't match the Icon= entry in desktop file: hicolor/scalable/mimetypes/application-x-extension-fcstd.svg
appimagelint.icons_check[597535] [WARNING] no other icons found
appimagelint.icons_check[597535] [INFO] [✖] Other integration icons valid
appimagelint.cli[597535] [INFO] Running check "Desktop files existence and validity"
appimagelint.desktop_files[597535] [INFO] Checking desktop files in root directory
appimagelint.desktop_files[597535] [INFO] [✔] Exactly one desktop file in AppDir root
appimagelint.desktop_files[597535] [INFO] Checking desktop file /tmp/.mount_FreeCAvkdizH/usr/share/applications/freecad_weekly.desktop with desktop-file-validate
/tmp/.mount_FreeCAvkdizH/usr/share/applications/freecad_weekly.desktop: hint: value "Engineering;" for key "Categories" in group "Desktop Entry" does not contain a registered main category; application might only show up in a "catch-all" section of the application menu
appimagelint.desktop_files[597535] [INFO] Checking desktop file /tmp/.mount_FreeCAvkdizH/usr/share/applications/org.freecadweb.FreeCAD.desktop with desktop-file-validate
/tmp/.mount_FreeCAvkdizH/usr/share/applications/org.freecadweb.FreeCAD.desktop: warning: value "Система автоматизированного проектирования" for key "Comment[ru]" in group "Desktop Entry" looks the same as that of key "GenericName[ru]"
/tmp/.mount_FreeCAvkdizH/usr/share/applications/org.freecadweb.FreeCAD.desktop: hint: value "Graphics;Science;Education;Engineering;" for key "Categories" in group "Desktop Entry" contains more than one main category; application might appear more than once in the application menu
/tmp/.mount_FreeCAvkdizH/usr/share/applications/org.freecadweb.FreeCAD.desktop: hint: value "Graphics;Science;Education;Engineering;" for key "Categories" in group "Desktop Entry" contains more than one main category; application might appear more than once in the application menu
appimagelint.desktop_files[597535] [INFO] Checking desktop file /tmp/.mount_FreeCAvkdizH/freecad_weekly.desktop with desktop-file-validate
/tmp/.mount_FreeCAvkdizH/freecad_weekly.desktop: hint: value "Engineering;" for key "Categories" in group "Desktop Entry" does not contain a registered main category; application might only show up in a "catch-all" section of the application menu
appimagelint.desktop_files[597535] [INFO] [✔] All desktop files in AppDir are valid

Does not run on non-deb systems

The AppImage does not run on non-deb systems such as openSUSE:

FileNotFoundError: [Errno 2] No such file or directory: 'dpkg': 'dpkg'

If it is needed, then it should be bundled.

KeyError: 'buster-backports'

me@host:~$ /home/me/Downloads/appimagelint-x86_64.AppImage /home/me/Downloads/Mumble-427b148-x86_64.AppImage 
appimagelint.cli[13896] [INFO] Checking AppImage /home/me/Downloads/Mumble-427b148-x86_64.AppImage
appimagelint.cli[13896] [INFO] Running check "GNU libc ABI check"
appimagelint.glibc_abi_check[13896] [INFO] detected required version for runtime: 2.3.3
appimagelint.glibc_abi_check[13896] [INFO] detected required version for payload: 2.17
appimagelint.glibc_abi_check[13896] [WARNING] could not find version for oldstable, trying backports
appimagelint.glibc_abi_check[13896] [INFO] [✔] AppImage can run on Debian oldstable (jessie)
appimagelint.glibc_abi_check[13896] [INFO] [✔] AppImage can run on Debian stable (stretch)
appimagelint.glibc_abi_check[13896] [WARNING] could not find version for testing, trying backports
Traceback (most recent call last):
  File "/tmp/.mount_appimahLFmu9/usr/conda/lib/python3.7/site-packages/appimagelint/checks/gnu_abi_check_base.py", line 103, in _check_debian_compat
    max_supported_version = versions_map[codename]
KeyError: 'buster'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/.mount_appimahLFmu9/usr/conda/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/tmp/.mount_appimahLFmu9/usr/conda/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmp/.mount_appimahLFmu9/usr/conda/lib/python3.7/site-packages/appimagelint/__main__.py", line 4, in <module>
    run()
  File "/tmp/.mount_appimahLFmu9/usr/conda/lib/python3.7/site-packages/appimagelint/cli.py", line 96, in run
    for testres in check.run():
  File "/tmp/.mount_appimahLFmu9/usr/conda/lib/python3.7/site-packages/appimagelint/checks/gnu_abi_check_base.py", line 76, in run
    for result in self._check_debian_compat(required_version):
  File "/tmp/.mount_appimahLFmu9/usr/conda/lib/python3.7/site-packages/appimagelint/checks/gnu_abi_check_base.py", line 106, in _check_debian_compat
    max_supported_version = versions_map["{}-backports".format(codename)]
KeyError: 'buster-backports'
me@host:~$ /home/me/Downloads/appimagelint-x86_64.AppImage /home/me/Downloads/
appimagelint-x86_64.AppImage     micropad-3.18.1-x86_64.AppImage  Mumble-83bca04-x86_64.AppImage   outer_wall2.stl                  screw2.stl                       
Fanny_Pocket.stl                 Mumble-427b148-x86_64.AppImage   Mumble-b5a0b79-x86_64.AppImage   satisfying-twister.scad          Wallet_All_Parts.stl             
inner.stl                        Mumble-5ffa1a4-x86_64.AppImage   outer.stl                        satisfying-twister.stl           Wallet.stl                       
me@host:~$ /home/me/Downloads/appimagelint-x86_64.AppImage /home/me/Downloads/appimagelint-x86_64.AppImage 
appimagelint.cli[14037] [INFO] Checking AppImage /home/me/Downloads/appimagelint-x86_64.AppImage
appimagelint.cli[14037] [INFO] Running check "GNU libc ABI check"
appimagelint.glibc_abi_check[14037] [INFO] detected required version for runtime: 2.3.3
appimagelint.glibc_abi_check[14037] [INFO] detected required version for payload: 2.14
appimagelint.glibc_abi_check[14037] [WARNING] could not find version for oldstable, trying backports
appimagelint.glibc_abi_check[14037] [INFO] [✔] AppImage can run on Debian oldstable (jessie)
appimagelint.glibc_abi_check[14037] [INFO] [✔] AppImage can run on Debian stable (stretch)
appimagelint.glibc_abi_check[14037] [WARNING] could not find version for testing, trying backports
Traceback (most recent call last):
  File "/tmp/.mount_appima1kePO9/usr/conda/lib/python3.7/site-packages/appimagelint/checks/gnu_abi_check_base.py", line 103, in _check_debian_compat
    max_supported_version = versions_map[codename]
KeyError: 'buster'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/.mount_appima1kePO9/usr/conda/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/tmp/.mount_appima1kePO9/usr/conda/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmp/.mount_appima1kePO9/usr/conda/lib/python3.7/site-packages/appimagelint/__main__.py", line 4, in <module>
    run()
  File "/tmp/.mount_appima1kePO9/usr/conda/lib/python3.7/site-packages/appimagelint/cli.py", line 96, in run
    for testres in check.run():
  File "/tmp/.mount_appima1kePO9/usr/conda/lib/python3.7/site-packages/appimagelint/checks/gnu_abi_check_base.py", line 76, in run
    for result in self._check_debian_compat(required_version):
  File "/tmp/.mount_appima1kePO9/usr/conda/lib/python3.7/site-packages/appimagelint/checks/gnu_abi_check_base.py", line 106, in _check_debian_compat
    max_supported_version = versions_map["{}-backports".format(codename)]
KeyError: 'buster-backports'

Broken on Travis and GitHub Actions from mismatched version info

The problem is that the chosen mirror prunes its Ubuntu archive, while appimagelint expects it to have more, since Launchpad lists everything. The second exception looks like it could be solved by just rebuilding the caches.

Example:

 appimagelint.setup[10630] [INFO] Fetching glibc package versions from Ubuntu FTP mirror
 Warning: int.cache[10630] [WARNING] codebase changed since last update, but updating failed, using cached data
 Error: elint.cache[10630] [ERROR] 404 Client Error: Not Found for url: https://ftp.fau.de/ubuntu/dists/precise/main/binary-amd64/Packages.gz
 Traceback (most recent call last):
   File "/tmp/.mount_appimaFdl42Q/usr/conda/lib/python3.7/site-packages/appimagelint/cache/json_cache_impl_base.py", line 101, in get_data
     new_data = cls._fetch_data()
   File "/tmp/.mount_appimaFdl42Q/usr/conda/lib/python3.7/site-packages/appimagelint/cache/package_version_maps.py", line 17, in _fetch_data
     return get_map_callback()
   File "/tmp/.mount_appimaFdl42Q/usr/conda/lib/python3.7/site-packages/appimagelint/cache/package_version_maps.py", line 29, in <lambda>
     "ubuntu", "glibc", lambda: get_ubuntu_package_versions_map("glibc"), "ubuntu_glibc_versions.json"
   File "/tmp/.mount_appimaFdl42Q/usr/conda/lib/python3.7/site-packages/appimagelint/cache/common.py", line 83, in get_ubuntu_package_versions_map
     data = get_packages_gz_from_ftp_mirror("ubuntu", release)
   File "/tmp/.mount_appimaFdl42Q/usr/conda/lib/python3.7/site-packages/appimagelint/cache/common.py", line 67, in get_packages_gz_from_ftp_mirror
     response.raise_for_status()
   File "/tmp/.mount_appimaFdl42Q/usr/conda/lib/python3.7/site-packages/requests/models.py", line 940, in raise_for_status
     raise HTTPError(http_error_msg, response=self)
 requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://ftp.fau.de/ubuntu/dists/precise/main/binary-amd64/Packages.gz

 Traceback (most recent call last):
   File "/tmp/.mount_appimaFdl42Q/usr/conda/lib/python3.7/runpy.py", line 193, in _run_module_as_main
     "__main__", mod_spec)
   File "/tmp/.mount_appimaFdl42Q/usr/conda/lib/python3.7/runpy.py", line 85, in _run_code
     exec(code, run_globals)
   File "/tmp/.mount_appimaFdl42Q/usr/conda/lib/python3.7/site-packages/appimagelint/__main__.py", line 4, in <module>
     run()
   File "/tmp/.mount_appimaFdl42Q/usr/conda/lib/python3.7/site-packages/appimagelint/cli.py", line 142, in run
     for testres in check.run():
   File "/tmp/.mount_appimaFdl42Q/usr/conda/lib/python3.7/site-packages/appimagelint/checks/gnu_abi_check_base.py", line 79, in run
     for result in self._check_ubuntu_compat(required_version):
   File "/tmp/.mount_appimaFdl42Q/usr/conda/lib/python3.7/site-packages/appimagelint/checks/gnu_abi_check_base.py", line 131, in _check_ubuntu_compat
     max_supported_version = versions_map[release]
 KeyError: 'hirsute'

Work without FUSE

probono:/tmp/deleteme $ ./appimagelint-x86_64.AppImage appimagelint-x86_64.AppImage --appimage-extract-and-run
(...)
/tmp/appimage_extracted_8d7197a55dad42c69bef2b18e43ff21f/usr/share/icons/hicolor/scalable/apps/appimagelint.svg
appimagelint.cli[1692] [INFO] Checking AppImage appimagelint-x86_64.AppImage
appimagelint.cli[1692] [INFO] Running check "GNU libc ABI check"
appimagelint.glibc_abi_check[1692] [INFO] detected required version for runtime: 2.3.3
Traceback (most recent call last):
  File "/tmp/appimage_extracted_8d7197a55dad42c69bef2b18e43ff21f/usr/conda/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/tmp/appimage_extracted_8d7197a55dad42c69bef2b18e43ff21f/usr/conda/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmp/appimage_extracted_8d7197a55dad42c69bef2b18e43ff21f/usr/conda/lib/python3.7/site-packages/appimagelint/__main__.py", line 4, in <module>
    run()
  File "/tmp/appimage_extracted_8d7197a55dad42c69bef2b18e43ff21f/usr/conda/lib/python3.7/site-packages/appimagelint/cli.py", line 95, in run
    for testres in check.run():
  File "/tmp/appimage_extracted_8d7197a55dad42c69bef2b18e43ff21f/usr/conda/lib/python3.7/site-packages/appimagelint/checks/gnu_abi_check_base.py", line 52, in run
    with self._appimage.mount() as mountpoint:
  File "/tmp/appimage_extracted_8d7197a55dad42c69bef2b18e43ff21f/usr/conda/lib/python3.7/site-packages/appimagelint/services/appimagemounter.py", line 74, in __enter__
    self.mount()
  File "/tmp/appimage_extracted_8d7197a55dad42c69bef2b18e43ff21f/usr/conda/lib/python3.7/site-packages/appimagelint/services/appimagemounter.py", line 44, in mount
    "(exit code {})".format(self._proc.poll()))
OSError: process exited before we could read AppImage mountpoint(exit code 1)

probono:/tmp/deleteme $ cat /etc/os-release 
NAME="Ubuntu"
VERSION="14.04.5 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian

AppRun error, No such file or directory

Command:

wget https://github.com/TheAssassin/appimagelint/releases/download/continuous/appimagelint-x86_64.AppImage && chmod +x appimagelint-x86_64.AppImage && ./appimagelint-x86_64.AppImage ./sunshine.AppImage

Output:

/tmp/.mount_appimacImzR4/AppRun: line 9: /tmp/.mount_appimacImzR4/usr/bin/python: No such file or directory

I extracted the appimagelint AppImage and do see a /usr/bin/python file so not really sure what is going on.

Check whether all libraries are bundled

It shouldn't be too hard to check whether all libs are shipped inside the AppImage. We can safely ignore everything on the excludelist there (maybe we should even warn when such libs are shipped (once #16 is implemented)).

KeyError: 'jammy'

Trying to run in Ubuntu 18.04 github runner and getting the following:

appimagelint.cli[12037] [INFO] Checking AppImage ./artifacts/sunshine.AppImage
appimagelint.cli[12037] [INFO] Running check "GNU libc ABI check"
appimagelint.glibc_abi_check[12037] [INFO] detected required version for runtime: 2.14
readelf: Error: the PHDR segment is not covered by a LOAD segment
readelf: Error: the PHDR segment is not covered by a LOAD segment
readelf: Error: the PHDR segment is not covered by a LOAD segment
readelf: Error: the PHDR segment is not covered by a LOAD segment
appimagelint.glibc_abi_check[12037] [INFO] detected required version for payload: 2.27
appimagelint.cache[12037] [INFO] Fetching glibc version data for debian
appimagelint.setup[12037] [INFO] Fetching glibc package versions from Debian sources API
appimagelint.glibc_abi_check[12037] [INFO] [✔] AppImage can run on Debian oldstable (buster)
appimagelint.glibc_abi_check[12037] [INFO] [✔] AppImage can run on Debian stable (bullseye)
appimagelint.glibc_abi_check[12037] [INFO] [✔] AppImage can run on Debian testing (bookworm)
appimagelint.glibc_abi_check[12037] [INFO] [✔] AppImage can run on Debian unstable (sid)
appimagelint.cache[12037] [INFO] Fetching glibc version data for ubuntu
appimagelint.setup[12037] [INFO] Fetching glibc package versions from Ubuntu FTP mirror
appimagelint.glibc_abi_check[12037] [INFO] [✔] AppImage can run on Ubuntu jammy
appimagelint.glibc_abi_check[12037] [INFO] [✔] AppImage can run on Ubuntu impish
appimagelint.glibc_abi_check[12037] [INFO] [✔] AppImage can run on Ubuntu focal
appimagelint.glibc_abi_check[12037] [INFO] [✔] AppImage can run on Ubuntu bionic
appimagelint.glibc_abi_check[12037] [INFO] [✖] AppImage can run on Ubuntu xenial
appimagelint.glibc_abi_check[12037] [INFO] [✖] AppImage can run on Ubuntu trusty
appimagelint.cache[12037] [INFO] Fetching glibc version data for centos
appimagelint.setup[12037] [INFO] Fetching glibc package versions from CentOS mirror
appimagelint.glibc_abi_check[12037] [INFO] [✖] AppImage can run on CentOS 7
appimagelint.cli[12037] [INFO] Running check "GNU libstdc++ ABI check"
appimagelint.glibcxx_abi_check[12037] [INFO] detected required version for runtime: <none>
readelf: Error: the PHDR segment is not covered by a LOAD segment
readelf: Error: the PHDR segment is not covered by a LOAD segment
readelf: Error: the PHDR segment is not covered by a LOAD segment
readelf: Error: the PHDR segment is not covered by a LOAD segment
appimagelint.glibcxx_abi_check[12037] [INFO] detected required version for payload: 3.4.26
appimagelint.cache[12037] [INFO] Fetching glibcxx version data for debian
Warning: int.gnu_lib_versions_symbols_finder[12037] [WARNING] no binaries found in /dev/shm/appimagelint-ntec8xwn.tmp/out/
Warning: int.gnu_lib_versions_symbols_finder[12037] [WARNING] no binaries found in /dev/shm/appimagelint-jpgqdiil.tmp/out/
Warning: int.gnu_lib_versions_symbols_finder[12037] [WARNING] no binaries found in /dev/shm/appimagelint-ozi9y1pv.tmp/out/
Warning: int.gnu_lib_versions_symbols_finder[12037] [WARNING] no binaries found in /dev/shm/appimagelint-gywjjbbw.tmp/out/
appimagelint.glibcxx_abi_check[12037] [INFO] [✖] AppImage can run on Debian oldstable (buster)
appimagelint.glibcxx_abi_check[12037] [INFO] [✔] AppImage can run on Debian stable (bullseye)
appimagelint.glibcxx_abi_check[12037] [INFO] [✔] AppImage can run on Debian testing (bookworm)
appimagelint.glibcxx_abi_check[12037] [INFO] [✔] AppImage can run on Debian unstable (sid)
appimagelint.cache[12037] [INFO] Fetching glibcxx version data for ubuntu
Warning: int.cache[12037] [WARNING] codebase changed since last update, but updating failed, using cached data
Error: elint.cache[12037] [ERROR] Command '['tar', '-xvf', '/dev/shm/appimagelint-9d798r3x.tmp/data.tar.zst']' returned non-zero exit status 2.
Traceback (most recent call last):
  File "/tmp/.mount_appimaqnNutg/usr/conda/lib/python3.9/site-packages/appimagelint/cache/json_cache_impl_base.py", line 101, in get_data
    new_data = cls._fetch_data()
  File "/tmp/.mount_appimaqnNutg/usr/conda/lib/python3.9/site-packages/appimagelint/cache/package_version_maps.py", line 17, in _fetch_data
    return get_map_callback()
  File "/tmp/.mount_appimaqnNutg/usr/conda/lib/python3.9/site-packages/appimagelint/cache/common.py", line 245, in get_ubuntu_glibcxx_versions_map
    versions = get_glibcxx_version_from_debian_package(url)
  File "/tmp/.mount_appimaqnNutg/usr/conda/lib/python3.9/site-packages/appimagelint/cache/common.py", line 199, in get_glibcxx_version_from_debian_package
    check_call(["tar", "-xvf", data_archive_name], cwd=out_path)
  File "/tmp/.mount_appimaqnNutg/usr/conda/lib/python3.9/site-packages/appimagelint/cache/common.py", line 186, in check_call
    proc = subprocess.run(args, check=True, capture_output=True, **kwargs)
  File "/tmp/.mount_appimaqnNutg/usr/conda/lib/python3.9/subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['tar', '-xvf', '/dev/shm/appimagelint-9d798r3x.tmp/data.tar.zst']' returned non-zero exit status 2.
Traceback (most recent call last):
  File "/tmp/.mount_appimaqnNutg/usr/conda/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/tmp/.mount_appimaqnNutg/usr/conda/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/tmp/.mount_appimaqnNutg/usr/conda/lib/python3.9/site-packages/appimagelint/__main__.py", line 4, in <module>
    run()
  File "/tmp/.mount_appimaqnNutg/usr/conda/lib/python3.9/site-packages/appimagelint/cli.py", line 142, in run
    for testres in check.run():
  File "/tmp/.mount_appimaqnNutg/usr/conda/lib/python3.9/site-packages/appimagelint/checks/gnu_abi_check_base.py", line 79, in run
    for result in self._check_ubuntu_compat(required_version):
  File "/tmp/.mount_appimaqnNutg/usr/conda/lib/python3.9/site-packages/appimagelint/checks/gnu_abi_check_base.py", line 138, in _check_ubuntu_compat
    max_supported_version = versions_map[release]
KeyError: 'jammy'
Error: Process completed with exit code 1.

Something wrong with my AppImage? Maybe missing dependencies in the runner?

KeyError: 'stretch-backports'

linux@localhost:~> Downloads/appimagelint-x86_64.AppImage /isodevice/Applications/Firefox-66.0.5.glibc2.4-x86_64.AppImage 
appimagelint.cli[6028] [INFO] Checking AppImage /isodevice/Applications/Firefox-66.0.5.glibc2.4-x86_64.AppImage
appimagelint.cli[6028] [INFO] Running check "GNU libc ABI check"
appimagelint.glibc_abi_check[6028] [INFO] detected required version for runtime: 2.3.3
appimagelint.glibc_abi_check[6028] [INFO] detected required version for payload: 2.12
appimagelint.cache[6028] [INFO] Fetching glibc version data for debian
appimagelint.setup[6028] [INFO] Fetching glibc package versions from Debian sources API
appimagelint.glibc_abi_check[6028] [INFO] [✔] AppImage can run on Debian oldstable (jessie)
appimagelint.glibc_abi_check[6028] [WARNING] could not find version for stable, trying backports
Traceback (most recent call last):
  File "/tmp/.mount_appimawGw5X2/usr/conda/lib/python3.7/site-packages/appimagelint/checks/gnu_abi_check_base.py", line 103, in _check_debian_compat
    max_supported_version = versions_map[codename]
KeyError: 'stretch'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/.mount_appimawGw5X2/usr/conda/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/tmp/.mount_appimawGw5X2/usr/conda/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmp/.mount_appimawGw5X2/usr/conda/lib/python3.7/site-packages/appimagelint/__main__.py", line 4, in <module>
    run()
  File "/tmp/.mount_appimawGw5X2/usr/conda/lib/python3.7/site-packages/appimagelint/cli.py", line 96, in run
    for testres in check.run():
  File "/tmp/.mount_appimawGw5X2/usr/conda/lib/python3.7/site-packages/appimagelint/checks/gnu_abi_check_base.py", line 76, in run
    for result in self._check_debian_compat(required_version):
  File "/tmp/.mount_appimawGw5X2/usr/conda/lib/python3.7/site-packages/appimagelint/checks/gnu_abi_check_base.py", line 106, in _check_debian_compat
    max_supported_version = versions_map["{}-backports".format(codename)]
KeyError: 'stretch-backports'

linux@localhost:~> cat /etc/os-release 
NAME="openSUSE Leap"
VERSION="15.1 "
ID="opensuse-leap"
ID_LIKE="suse opensuse"
VERSION_ID="15.1"
PRETTY_NAME="openSUSE Leap 15.1"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:leap:15.1"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"

Handle AppImages that bundle everything

Although we generally don't recommend it, some projects have good reasons to build AppImages that bundle everything. This is especially true for applications that cannot be built on older LTS build systems, but where the intended audience includes users with such systems. Prominent example: Inkscape.

When you run the official Inkscape AppImage through this tool, however, you get

appimagelint.glibc_abi_check[6960] [INFO] [✖] AppImage can run on Ubuntu trusty
appimagelint.glibc_abi_check[6960] [INFO] [✖] AppImage can run on Ubuntu xenial

This is not correct. If you try it out you will find that this AppImage in fact does run on those systems.

Make it possible to use offline

Please make it possible to use this tool offline.
This means bundling (at AppImage creation time) rather than downloading (at runtime) version data.

Use cases:

  • Trains with bad/no internet
  • OBS

No longer works on current Ubuntu LTS

Packages in new Ubuntu release ("impish") use Zstd compression (.tar.zst). Compare these two packages:

The first one contains a data.tar.xz and the newer one contains a data.tar.zst. We try to extract the file in get_glibcxx_version_from_debian_package:

data_archive_name = glob.glob(os.path.join(d, "data.tar.*"))[0]
subprocess.check_call(["tar", "-xf", data_archive_name], cwd=out_path, stdout=subprocess.DEVNULL)

It requires the system's tar to support zstd. zstd support was added to GNU tar in 1.31. That means appimagelint no longer works on many older Linux releases, including Ubuntu 20.04 LTS (current stable) and Debian 10 "buster" (oldstable).


An example of error:

2021-10-19T17:48:19.0036881Z appimagelint.cache[19048] [INFO] Fetching glibcxx version data for ubuntu
2021-10-19T17:48:22.1998433Z tar: This does not look like a tar archive
2021-10-19T17:48:22.1999335Z tar: Skipping to next header
2021-10-19T17:48:22.2005394Z tar: Exiting with failure status due to previous errors
2021-10-19T17:48:22.2013817Z appimagelint.cache[19048] [WARNING] codebase changed since last update, but updating failed, using cached data
2021-10-19T17:48:22.2039927Z appimagelint.cache[19048] [ERROR] Command '['tar', '-xf', '/dev/shm/appimagelint-28zo_058.tmp/data.tar.zst']' returned non-zero exit status 2.
2021-10-19T17:48:22.2042361Z Traceback (most recent call last):
2021-10-19T17:48:22.2044859Z   File "/tmp/.mount_appimaJ8Z0H5/usr/conda/lib/python3.7/site-packages/appimagelint/cache/json_cache_impl_base.py", line 101, in get_data
2021-10-19T17:48:22.2046088Z     new_data = cls._fetch_data()
2021-10-19T17:48:22.2047774Z   File "/tmp/.mount_appimaJ8Z0H5/usr/conda/lib/python3.7/site-packages/appimagelint/cache/package_version_maps.py", line 17, in _fetch_data
2021-10-19T17:48:22.2048998Z     return get_map_callback()
2021-10-19T17:48:22.2050692Z   File "/tmp/.mount_appimaJ8Z0H5/usr/conda/lib/python3.7/site-packages/appimagelint/cache/common.py", line 163, in get_ubuntu_glibcxx_versions_map
2021-10-19T17:48:22.2051905Z     versions = get_glibcxx_version_from_debian_package(url)
2021-10-19T17:48:22.2053193Z   File "/tmp/.mount_appimaJ8Z0H5/usr/conda/lib/python3.7/site-packages/appimagelint/cache/common.py", line 117, in get_glibcxx_version_from_debian_package
2021-10-19T17:48:22.2055129Z     subprocess.check_call(["tar", "-xf", data_archive_name], cwd=out_path, stdout=subprocess.DEVNULL)
2021-10-19T17:48:22.2056423Z   File "/tmp/.mount_appimaJ8Z0H5/usr/conda/lib/python3.7/subprocess.py", line 341, in check_call
2021-10-19T17:48:22.2057718Z     raise CalledProcessError(retcode, cmd)
2021-10-19T17:48:22.2060468Z subprocess.CalledProcessError: Command '['tar', '-xf', '/dev/shm/appimagelint-28zo_058.tmp/data.tar.zst']' returned non-zero exit status 2.
2021-10-19T17:48:22.2097869Z Traceback (most recent call last):
2021-10-19T17:48:22.2098958Z   File "/tmp/.mount_appimaJ8Z0H5/usr/conda/lib/python3.7/runpy.py", line 193, in _run_module_as_main
2021-10-19T17:48:22.2100145Z     "__main__", mod_spec)
2021-10-19T17:48:22.2100865Z   File "/tmp/.mount_appimaJ8Z0H5/usr/conda/lib/python3.7/runpy.py", line 85, in _run_code
2021-10-19T17:48:22.2101663Z     exec(code, run_globals)
2021-10-19T17:48:22.2103550Z   File "/tmp/.mount_appimaJ8Z0H5/usr/conda/lib/python3.7/site-packages/appimagelint/__main__.py", line 4, in <module>
2021-10-19T17:48:22.2104408Z     run()
2021-10-19T17:48:22.2105415Z   File "/tmp/.mount_appimaJ8Z0H5/usr/conda/lib/python3.7/site-packages/appimagelint/cli.py", line 142, in run
2021-10-19T17:48:22.2106259Z     for testres in check.run():
2021-10-19T17:48:22.2107385Z   File "/tmp/.mount_appimaJ8Z0H5/usr/conda/lib/python3.7/site-packages/appimagelint/checks/gnu_abi_check_base.py", line 79, in run
2021-10-19T17:48:22.2108381Z     for result in self._check_ubuntu_compat(required_version):
2021-10-19T17:48:22.2109637Z   File "/tmp/.mount_appimaJ8Z0H5/usr/conda/lib/python3.7/site-packages/appimagelint/checks/gnu_abi_check_base.py", line 131, in _check_ubuntu_compat
2021-10-19T17:48:22.2110657Z     max_supported_version = versions_map[release]
2021-10-19T17:48:22.2111412Z KeyError: 'impish' 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.