#!/bin/bash ## ## Copyright (C) 2016 Simon Peter ## Copyright (C) 2017 Uwe Hermann ## This file is licensed under the terms of the MIT license. ## # Bundle PulseView and its dependencies as an AppImage for x86_64 Linux. # Note: This assumes the full sigrok stack has been installed into $PREFIX. PREFIX=$HOME/sr APPIMAGEKIT_OUTDIR=$HOME/AppImageKit/out ARCH=x86_64 ######################################################################## # You usually don't have to change anything below this line ######################################################################## APP=PulseView LOWERAPP=${APP,,} export STATIC_FILES=`pwd`/contrib # Add $APPIMAGEKIT_OUTDIR so we can find all the binaries there. export PATH=$APPIMAGEKIT_OUTDIR:$PATH A="./$APP/$APP.AppDir" mkdir -p $A/usr/bin $A/usr/lib $A/usr/share cd ./$APP . ../contrib/functions.sh ######################################################################## # Get build products from $PREFIX ######################################################################## cd $APP.AppDir/ cp $PREFIX/bin/pulseview usr/bin/ chmod a+x usr/bin/* cp $PREFIX/lib/lib*.so* usr/lib/ cp -r $PREFIX/share/libsigrokdecode usr/share/ cp -r $PREFIX/share/sigrok-firmware usr/share/ # Reduce binary size strip usr/bin/* strip usr/lib/* ######################################################################## # AppRun is the main launcher that gets executed when AppImage is run ######################################################################## cp $APPIMAGEKIT_OUTDIR/AppRun . ######################################################################## # Copy desktop and icon file to AppDir for AppRun to pick them up ######################################################################## cp ../../contrib/pulseview.desktop ../../contrib/sigrok-logo-notext.png . ######################################################################## # Copy in the dependencies that cannot be assumed to be available # on all target systems ######################################################################## copy_deps ######################################################################## # Delete stuff that should not go into the AppImage ######################################################################## delete_blacklisted move_lib mv ./usr/lib/x86_64-linux-gnu/* usr/lib/ rm -r ./usr/lib/x86_64-linux-gnu/ # Remove some incorrectly/unintentionally copied files. rm -r ./home ######################################################################## # Determine the version of the app; also include needed glibc version ######################################################################## VER1="NIGHTLY" GLIBC_NEEDED=$(glibc_needed) VERSION=$VER1.glibc$GLIBC_NEEDED echo $VERSION ######################################################################## # Patch away absolute paths; it would be nice if they were relative ######################################################################## find usr/ -type f -executable -exec sed -i -e "s|/usr|././|g" {} \; ######################################################################## # AppDir complete # Now packaging it as an AppImage ######################################################################## cd .. VERSION=$VERSION $APPIMAGEKIT_OUTDIR/appimagetool ./$APP.AppDir/ mkdir -p ../out/ || true mv *.AppImage* ../out/