commit initial, premières applications gérées: qtcreator, git, qgit, qcachegrind, valgrind, kdiff3
This commit is contained in:
Executable
+79
@@ -0,0 +1,79 @@
|
||||
#!/bin/bash
|
||||
# à utiliser pour builder une appimage d'une app quelconque, y compris hors cadre GIREF/BIB
|
||||
# Ceci est un point départ plus qu'un script clef en main !
|
||||
function exit_on_fail() {
|
||||
"$@"
|
||||
local status=$?
|
||||
if [ $status -ne 0 ]; then
|
||||
echo "Erreur avec: $@" >&2
|
||||
exit $status
|
||||
fi
|
||||
return $status
|
||||
}
|
||||
|
||||
# Fonction permettant d'effectuer quelques vérifications de base
|
||||
function verifications() {
|
||||
echo "### Vérifications"
|
||||
command -v linuxdeploy-x86_64.AppImage >/dev/null 2>&1 || {
|
||||
echo >&2 "L'outil linuxdeploy-x86_64.AppImage n'est pas présent, pas de livraison possible !"
|
||||
exit 1
|
||||
}
|
||||
command -v appimagetool-x86_64.AppImage >/dev/null 2>&1 || {
|
||||
echo >&2 "L'outil appimagetool-x86_64.AppImage n'est pas présent, pas de livraison possible !"
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
verifications
|
||||
|
||||
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"
|
||||
|
||||
Reference in New Issue
Block a user