2021-07-11 11:13:48 +02:00

63 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
function exit_on_fail() {
"$@"
local status=$?
if [ $status -ne 0 ]; then
echo "Erreur avec: $@" >&2
exit $status
fi
return $status
}
if [[ "$#" -ne 2 ]] && [[ "$#" -ne 3 ]]; then
echo "Usage: $0 CHEMIN_COMPLET_VERS_APP/mon_app CHEMIN_DESTINATION_APPIMAGE"
exit 0
fi
script_dir=$(dirname $0)
BIN=$1
DEST_DIR=$2
APP_NOM=$(basename $BIN)
if [[ -z NOM_APPIMAGE ]]; then
if [[ "$APP_NOM" =~ "." ]]; then
NOM_APPIMAGE="${APP_NOM%.???}"
else
NOM_APPIMAGE=$APP_NOM
fi
fi
AUTRES_OPTIONS=""
# Répertoire de travail
WORK_DIR=$DEST_DIR/build_AppImage
rm -rf $WORK_DIR
mkdir -p $WORK_DIR/AppDir
# Si la variable d'env CUSTOM_STEP_PRE_DEPLOY n'est pas vide, on l'utilise pour spécifier des commandes supplémentaires
# (CUSTOM_STEP_PRE_DEPLOY doit être le chemin vers le fichier contenant les commandes supplémentaires
if [[ -n $CUSTOM_STEP_PRE_DEPLOY ]]; then
echo "On source le fichier $CUSTOM_STEP_PRE_DEPLOY"
source $CUSTOM_STEP_PRE_DEPLOY
fi
exit_on_fail linuxdeploy-x86_64.AppImage --appdir $WORK_DIR/AppDir \
--executable $BIN \
$AUTRES_OPTIONS
# idem PRE_DEPLOY mais après l'appel à linuxdeploy (la structure du AppDir est alors terminée)
if [[ -n $CUSTOM_STEP_POST_DEPLOY ]]; then
echo "On source le fichier $CUSTOM_STEP_POST_DEPLOY"
source $CUSTOM_STEP_POST_DEPLOY
fi
# Création du fichier .AppImage
echo "### Création fichier .AppImage"
exit_on_fail appimagetool-x86_64.AppImage $WORK_DIR/AppDir $DEST_DIR/$NOM_APPIMAGE.AppImage
rm -rf $WORK_DIR
chown $USER:$GROUP $DEST_DIR/$NOM_APPIMAGE.AppImage
echo "Création terminée ! -> $DEST_DIR/$NOM_APPIMAGE.AppImage"