|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +# Fonction pour afficher des messages en couleur |
| 4 | +function echo_color() { |
| 5 | + local color_code=$1 |
| 6 | + shift |
| 7 | + echo -e "\e[${color_code}m$@\e[0m" |
| 8 | +} |
| 9 | + |
| 10 | +# Nom du dépôt GitHub |
| 11 | +REPO="fastfetch-cli/fastfetch" |
| 12 | + |
| 13 | +# Détecter l'architecture de la machine |
| 14 | +ARCH=$(dpkg --print-architecture) |
| 15 | +echo_color "32" "Architecture détectée : $ARCH" |
| 16 | + |
| 17 | +# Récupération de la dernière version du dépôt |
| 18 | +echo_color "34" "Récupération de la dernière version du dépôt $REPO..." |
| 19 | +LATEST_RELEASE=$(curl --silent "https://api.github.com/repos/$REPO/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') |
| 20 | +echo_color "32" "Dernière version trouvée : $LATEST_RELEASE" |
| 21 | + |
| 22 | +# Recherche du fichier correspondant à l'architecture |
| 23 | +echo_color "34" "Recherche du fichier correspondant à l'architecture $ARCH..." |
| 24 | +ASSET_URL=$(curl --silent "https://api.github.com/repos/$REPO/releases/latest" | grep "browser_download_url.*$ARCH.deb" | cut -d '"' -f 4) |
| 25 | + |
| 26 | +# Vérification si l'URL a été trouvée |
| 27 | +if [ -z "$ASSET_URL" ]; then |
| 28 | + echo_color "31" "Aucun fichier correspondant à l'architecture $ARCH trouvé." |
| 29 | + exit 1 |
| 30 | +fi |
| 31 | + |
| 32 | +# Extraction du nom du fichier à partir de l'URL |
| 33 | +FILENAME=$(basename "$ASSET_URL") |
| 34 | +echo_color "32" "Fichier trouvé : $FILENAME" |
| 35 | + |
| 36 | +# Téléchargement du paquet Debian |
| 37 | +echo_color "34" "Téléchargement du fichier $FILENAME..." |
| 38 | +curl -sL "$ASSET_URL" -o "$FILENAME" |
| 39 | +echo_color "32" "Téléchargement terminé : $FILENAME" |
| 40 | + |
| 41 | +# Vérification et installation de sudo si nécessaire |
| 42 | +if ! command -v sudo &> /dev/null; then |
| 43 | + echo_color "33" "La commande 'sudo' n'est pas installée. Installation de 'sudo'..." |
| 44 | + apt-get update -qq && apt-get install -y -qq sudo |
| 45 | +fi |
| 46 | + |
| 47 | +# Installation du paquet Debian |
| 48 | +echo_color "34" "Installation du paquet $FILENAME..." |
| 49 | +sudo dpkg -i "$FILENAME" &> /dev/null |
| 50 | + |
| 51 | +# Demande de suppression du fichier temporaire |
| 52 | +read -p "Voulez-vous supprimer le fichier temporaire $FILENAME ? (y/n) " -n 1 -r |
| 53 | +echo |
| 54 | +if [[ $REPLY =~ ^[Yy]$ ]]; then |
| 55 | + rm "$FILENAME" |
| 56 | + echo_color "32" "Fichier $FILENAME supprimé." |
| 57 | +else |
| 58 | + echo_color "33" "Fichier $FILENAME conservé." |
| 59 | +fi |
0 commit comments