]> sigrok.org Git - sigrok-util.git/commitdiff
sigrok-native-appimage: Bump local AppImageKit files.
authorUwe Hermann <redacted>
Thu, 3 Oct 2019 13:18:36 +0000 (15:18 +0200)
committerUwe Hermann <redacted>
Thu, 3 Oct 2019 13:18:36 +0000 (15:18 +0200)
Bump functions.sh and excludelist to the latest upstream versions from:

 https://github.com/AppImage/pkg2appimage

cross-compile/appimage/contrib/excludelist
cross-compile/appimage/contrib/functions.sh

index 4baede77594d5d394cd163e578725d9129753a67..dc1797a4a3ec4c3e27226660f724beb6e8556078 100644 (file)
@@ -10,12 +10,12 @@ ld-linux-x86-64.so.2
 libanl.so.1
 libBrokenLocale.so.1
 libcidn.so.1
-libcrypt.so.1
+# libcrypt.so.1 # Not part of glibc anymore as of Fedora 30. See https://github.com/slic3r/Slic3r/issues/4798 and https://pagure.io/fedora-docs/release-notes/c/01d74b33564faa42959c035e1eee286940e9170e?branch=f28
 libc.so.6
 libdl.so.2
 libm.so.6
 libmvec.so.1
-libnsl.so.1
+# libnsl.so.1 # Not part of glibc anymore as of Fedora 28. See https://github.com/RPCS3/rpcs3/issues/5224#issuecomment-434930594
 libnss_compat.so.2
 libnss_db.so.2
 libnss_dns.so.2
@@ -36,11 +36,17 @@ libstdc++.so.6
 # usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
 
 libGL.so.1
+# The above may be missing on Chrome OS, https://www.reddit.com/r/Crostini/comments/d1lp67/ultimaker_cura_no_longer_running_as_an_appimage/
 libEGL.so.1
 # Part of the video driver (OpenGL); present on any regular
 # desktop system, may also be provided by proprietary drivers.
 # Known to cause issues if it's bundled.
 
+libGLdispatch.so.0
+libGLX.so.0
+# reported to be superfluent and conflicting system libraries (graphics driver)
+# see https://github.com/linuxdeploy/linuxdeploy/issues/89
+
 libdrm.so.2
 # Workaround for:
 # Antergos Linux release 2015.11 (ISO-Rolling)
@@ -53,6 +59,10 @@ libglapi.so.0
 # Part of mesa
 # known to cause problems with graphics, see https://github.com/RPCS3/rpcs3/issues/4427#issuecomment-381674910
 
+libgbm.so.1
+# Part of mesa
+# https://github.com/probonopd/linuxdeployqt/issues/390#issuecomment-529036305
+
 libxcb.so.1
 # Workaround for:
 # Fedora 23
@@ -113,7 +123,6 @@ libharfbuzz.so.0
 # Removing these has worked e.g., for Krita. Feel free to report if
 # you think that some of these should go into AppImages and why.
 libcom_err.so.2
-libcrypt.so.1
 libexpat.so.1
 libgcc_s.so.1
 libglib-2.0.so.0
@@ -127,7 +136,7 @@ libgpg-error.so.0
 libICE.so.6
 # libidn.so.11 # Does not come with Solus by default
 # libk5crypto.so.3 # Runnning AppImage built on Debian 9 or Ubuntu 16.04 on an Archlinux fails otherwise; https://github.com/AppImage/AppImages/issues/301
-libkeyutils.so.1
+# libkeyutils.so.1 # Does not come with Void Linux by default; https://github.com/Subsurface-divelog/subsurface/issues/1971#issuecomment-466606834
 # libkrb5.so.26 # Disputed, seemingly needed by Arch Linux since Kerberos is named differently there. Missing on openSUSE LEAP 42.0
 # libkrb5.so.3 # Disputed, seemingly needed by Arch Linux since Kerberos is named differently there
 # libkrb5support.so.0 # Disputed, seemingly needed by Arch Linux since Kerberos is named differently there
@@ -151,6 +160,10 @@ libpangoft2-1.0.so.0
 libpangocairo-1.0.so.0
 libpango-1.0.so.0
 
+# FIXME:
+# Can get symbol lookup error: /lib64/libpango-1.0.so.0: undefined symbol: g_log_structured_standard
+# if libcairo is bundled but libpango is not
+
 # Workaround for:
 # e.g., Spotify
 # relocation error: /lib/x86_64-linux-gnu/libgcrypt.so.20: 
@@ -180,7 +193,15 @@ libjack.so.0
 # libcrypto.so.1
 # libcrypto.so.1.0.0
 
-# The following may be spefific to a particular GPU and may need to be excluded
-# according to https://github.com/RicardoEPRodrigues/3Engine/issues/4#issuecomment-402532194
-# libGLEW.so.2.0 # to be confirmed
+# According to https://github.com/RicardoEPRodrigues/3Engine/issues/4#issuecomment-511598362
+# libGLEW is not tied to a specific GPU. It's linked against libGL.so.1 
+# and that one is different depending on the installed driver. 
+# In fact libGLEW is changing its soversion very often, so you should always bundle libGLEW.so.2.0
+
 # libglut.so.3 # to be confirmed
+
+libxcb-dri3.so.0 # https://github.com/AppImage/AppImages/issues/348
+libxcb-dri2.so.0 # https://github.com/probonopd/linuxdeployqt/issues/331#issuecomment-442276277
+
+# If the next line turns out to cause issues, we will have to remove it again and find another solution
+libfribidi.so.0 # https://github.com/olive-editor/olive/issues/221 and https://github.com/knapsu/plex-media-player-appimage/issues/14
index d8f93381bf9a31ec2ef7761e82b84e8b9f1e3933..1671e9111b0db311ccd516f5b1e3bb430495148e 100644 (file)
@@ -29,6 +29,9 @@ OPTIONS="-o Debug::NoLocking=1
 -o APT::Install-Suggests=0
 "
 
+# Detect if we are running inside Docker
+grep docker /proc/1/cgroup >/dev/null && export DOCKER_BUILD=1 || true
+
 # Detect system architecture to know which binaries of AppImage tools
 # should be downloaded and used.
 case "$(uname -i)" in
@@ -115,7 +118,7 @@ move_lib()
 # Delete blacklisted files
 delete_blacklisted()
 {
-  BLACKLISTED_FILES=$(cat_file_from_url https://github.com/AppImage/AppImages/raw/${PKG2AICOMMIT}/excludelist | sed 's|#.*||g')
+  BLACKLISTED_FILES=$(cat_file_from_url https://github.com/AppImage/pkg2appimage/raw/${PKG2AICOMMIT}/excludelist | sed 's|#.*||g')
   echo $BLACKLISTED_FILES
   for FILE in $BLACKLISTED_FILES ; do
     FILES="$(find . -name "${FILE}" -not -path "./usr/optional/*")"
@@ -141,11 +144,11 @@ glibc_needed()
 # Usage: get_desktopintegration name_of_desktop_file_and_exectuable
 get_desktopintegration()
 {
-  REALBIN=$(grep -o "^Exec=.*" *.desktop | sed -e 's|Exec=||g' | cut -d " " -f 1 | head -n 1)
-  cat_file_from_url https://raw.githubusercontent.com/AppImage/AppImageKit/master/desktopintegration > ./usr/bin/$REALBIN.wrapper
-  chmod a+x ./usr/bin/$REALBIN.wrapper
-
-  sed -i -e "s|^Exec=$REALBIN|Exec=$REALBIN.wrapper|g" $1.desktop
+  REALBIN=$(grep -o "^Exec=.*" *.desktop | sed -e 's|Exec=||g' | cut -d " " -f 1 | head -n 1)
+  # cat_file_from_url https://raw.githubusercontent.com/AppImage/AppImageKit/deprecated/AppImageAssistant/desktopintegration > ./usr/bin/$REALBIN.wrapper
+  chmod a+x ./usr/bin/$REALBIN.wrapper
+  echo "The desktopintegration script is deprecated. Please advise users to use https://github.com/AppImage/appimaged instead."
+  sed -i -e "s|^Exec=$REALBIN|Exec=$REALBIN.wrapper|g" $1.desktop
 }
 
 # Generate AppImage; this expects $ARCH, $APP and $VERSION to be set
@@ -203,11 +206,14 @@ generate_type2_appimage()
   # if [ -z "$URL" ] ; then
   #   URL=$(wget -q "https://s3.amazonaws.com/archive.travis-ci.org/jobs/$((ID+2))/log.txt" -O - | grep "https://transfer.sh/.*/appimagetool" | tail -n 1 | sed -e 's|\r||g')
   # fi
-  URL="https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-${SYSTEM_ARCH}.AppImage"
-  wget -c "$URL" -O appimagetool
-  chmod a+x ./appimagetool
-  appimagetool=$(readlink -f appimagetool)
-
+  if [ -z "$(which appimagetool)" ] ; then
+    URL="https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-${SYSTEM_ARCH}.AppImage"
+    wget -c "$URL" -O appimagetool
+    chmod a+x ./appimagetool
+    appimagetool=$(readlink -f appimagetool)
+  else
+    appimagetool=$(which appimagetool)
+  fi
   if [ "$DOCKER_BUILD" ]; then
     appimagetool_tempdir=$(mktemp -d)
     mv appimagetool "$appimagetool_tempdir"
@@ -253,7 +259,12 @@ generate_status()
   mkdir -p ./tmp/archives/
   mkdir -p ./tmp/lists/partial
   touch tmp/pkgcache.bin tmp/srcpkgcache.bin
-  wget -q -c "https://github.com/AppImage/AppImages/raw/${PKG2AICOMMIT}/excludedeblist"
+  if [ -e "${HERE}/usr/share/pkg2appimage/excludedeblist" ]  ; then
+    EXCLUDEDEBLIST="${HERE}/usr/share/pkg2appimage/excludedeblist"
+  else
+    wget -q -c "https://github.com/AppImage/AppImages/raw/${PKG2AICOMMIT}/excludedeblist"
+    EXCLUDEDEBLIST=excludedeblist
+  fi
   rm status 2>/dev/null || true
   for PACKAGE in $(cat excludedeblist | cut -d "#" -f 1) ; do
     printf "Package: $PACKAGE\nStatus: install ok installed\nArchitecture: all\nVersion: 9:999.999.999\n\n" >> status