63 lines
1.6 KiB
Bash
Executable File
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"
|
|
|