From ee46094d6d3066d8dd5158c1ce9ac09d200a1ea0 Mon Sep 17 00:00:00 2001 From: sky Date: Thu, 11 Sep 2025 15:27:30 +0200 Subject: [PATCH] =?UTF-8?q?am=C3=A9liorations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files_to_inject/preseeds/default.preseed | 50 +++---- files_to_inject/preseeds/gaming_installer.log | 8 +- files_to_inject/preseeds/install_gaming.sh | 122 ++++++++++++------ net/download.py | 7 +- udib.py | 4 +- 5 files changed, 120 insertions(+), 71 deletions(-) diff --git a/files_to_inject/preseeds/default.preseed b/files_to_inject/preseeds/default.preseed index 7d7805e..f78b799 100755 --- a/files_to_inject/preseeds/default.preseed +++ b/files_to_inject/preseeds/default.preseed @@ -34,6 +34,9 @@ tasksel tasksel/first multiselect minimal d-i pkgsel/include string \ gnome-core \ gnome-tweaks \ + gnome-shell-extension-manager \ + gnome-shell-extension-dashtodock \ + gnome-shell-extension-appindicator \ vim \ fish \ git \ @@ -56,28 +59,31 @@ d-i pkgsel/include string \ lld \ llvm -# gnome-core: Environnement de bureau GNOME -# gnome-tweaks: Outil de personnalisation GNOME -# vim: Éditeur de texte -# fish: Shell moderne -# git: Gestionnaire de versions -# wget: Téléchargeur HTTP/FTP -# curl: Client HTTP/FTP -# gpg: Chiffrement/signatures -# btop: Moniteur système moderne -# fastfetch: Info système colorée -# flatpak: Gestionnaire d'apps universelles -# pavucontrol: Contrôleur audio PulseAudio -# easyeffects: Effets audio avancés -# gnome-software-plugin-flatpak: Plugin Flatpak pour GNOME Software -# ffmpeg: Codecs audio/vidéo -# libavcodec-extra: Codecs supplémentaires -# libavformat-extra: Formats multimédias supplémentaires -# spice-vdagent: Agent SPICE pour machine virtuelle -# dkms: Système de modules kernel dynamiques -# libdw-dev: Bibliothèque de débogage DWARF -# clang: Compilateur C/C++/Objective-C -# lld: Éditeur de liens LLVM +# gnome-core: Environnement de bureau GNOME minimal +# gnome-tweaks: Outil de personnalisation GNOME avancé +# gnome-shell-extension-manager: Extensions pour GNOME Shell +# gnome-shell-extension-dashtodock: Dock personnalisable pour GNOME +# gnome-shell-extension-appindicator: Support des indicateurs d'applications +# vim: Éditeur de texte en ligne de commande +# fish: Shell interactif moderne et convivial +# git: Système de contrôle de version distribué +# wget: Utilitaire de téléchargement HTTP/HTTPS/FTP +# curl: Outil de transfert de données avec URLs +# gpg: Suite de chiffrement et signature numérique +# btop: Moniteur système interactif coloré +# fastfetch: Affichage rapide d'informations système +# flatpak: Gestionnaire d'applications sandboxées +# pavucontrol: Interface graphique pour PulseAudio +# easyeffects: Suite d'effets audio pour PipeWire +# gnome-software-plugin-flatpak: Intégration Flatpak dans GNOME Software +# ffmpeg: Framework multimédia complet +# libavcodec-extra: Codecs audio/vidéo supplémentaires +# libavformat-extra: Support de formats multimédias étendus +# spice-vdagent: Agent pour optimisation VM SPICE +# dkms: Gestion dynamique des modules noyau +# libdw-dev: Bibliothèques de développement DWARF +# clang: Compilateur C/C++/Objective-C moderne +# lld: Éditeur de liens rapide LLVM # llvm: Infrastructure de compilation modulaire # Installation GRUB avec support multi-OS diff --git a/files_to_inject/preseeds/gaming_installer.log b/files_to_inject/preseeds/gaming_installer.log index 2efe35d..7d2b01a 100644 --- a/files_to_inject/preseeds/gaming_installer.log +++ b/files_to_inject/preseeds/gaming_installer.log @@ -1,8 +1,8 @@ -=== Debian Gaming Deployment Tool Log - Démarré le mer 10 sep 2025 21:21:44 CEST === +=== Debian Gaming Deployment Tool Log - Démarré le jeu 11 sep 2025 14:42:37 CEST === Fichier de log: ./gaming_installer.log Utilisateur: sky Répertoire de travail: /home/sky/Documents/gitea/custom-debian-iso/files_to_inject/preseeds -[2025-09-10 21:21:44] INFO: Script démarré avec succès -[2025-09-10 21:21:44] INFO: Vérification du système de logging -[2025-09-10 21:21:44] INFO: Fichier de log créé dans: /home/sky/Documents/gitea/custom-debian-iso/files_to_inject/preseeds/gaming_installer.log +[2025-09-11 14:42:37] INFO: Script démarré avec succès +[2025-09-11 14:42:37] INFO: Vérification du système de logging +[2025-09-11 14:42:37] INFO: Fichier de log créé dans: /home/sky/Documents/gitea/custom-debian-iso/files_to_inject/preseeds/gaming_installer.log diff --git a/files_to_inject/preseeds/install_gaming.sh b/files_to_inject/preseeds/install_gaming.sh index d5ba44b..78d9dcb 100755 --- a/files_to_inject/preseeds/install_gaming.sh +++ b/files_to_inject/preseeds/install_gaming.sh @@ -1654,7 +1654,7 @@ uninstall_proton_plus() { ( echo "50" ; echo "# Désinstallation de ProtonUp-Qt..." - echo "$password" | timeout $TIMEOUT_APT sudo -S flatpak uninstall -y com.vysp3r.ProtonPlus >> "$LOG_FILE" 2>&1 + timeout $TIMEOUT_APT flatpak uninstall -y com.vysp3r.ProtonPlus >> "$LOG_FILE" 2>&1 if [ $? -ne 0 ]; then log_error "Échec de la désinstallation de ProtonUp-Qt" echo "# Erreur lors de la désinstallation de ProtonUp-Qt" @@ -1696,7 +1696,7 @@ uninstall_proton_plus_silent() { fi # Désinstaller sans confirmation ni interface graphique - echo "$password" | timeout $TIMEOUT_APT sudo -S flatpak uninstall -y com.vysp3r.ProtonPlus >> "$LOG_FILE" 2>&1 + timeout $TIMEOUT_APT flatpak uninstall -y com.vysp3r.ProtonPlus >> "$LOG_FILE" 2>&1 if [ $? -ne 0 ]; then log_error "Échec de la désinstallation de ProtonUp-Qt" return 1 @@ -1742,7 +1742,7 @@ uninstall_bottles() { ( echo "50" ; echo "# Désinstallation de Bottles..." - echo "$password" | timeout $TIMEOUT_APT sudo -S flatpak uninstall -y com.usebottles.bottles >> "$LOG_FILE" 2>&1 + timeout $TIMEOUT_APT flatpak uninstall -y com.usebottles.bottles >> "$LOG_FILE" 2>&1 if [ $? -ne 0 ]; then log_error "Échec de la désinstallation de Bottles" echo "# Erreur lors de la désinstallation de Bottles" @@ -1784,7 +1784,7 @@ uninstall_bottles_silent() { fi # Désinstaller sans confirmation ni interface graphique - echo "$password" | timeout $TIMEOUT_APT sudo -S flatpak uninstall -y com.usebottles.bottles >> "$LOG_FILE" 2>&1 + timeout $TIMEOUT_APT flatpak uninstall -y com.usebottles.bottles >> "$LOG_FILE" 2>&1 if [ $? -ne 0 ]; then log_error "Échec de la désinstallation de Bottles" return 1 @@ -1940,7 +1940,7 @@ uninstall_retroarch() { ( echo "50" ; echo "# Désinstallation de RetroArch..." - echo "$password" | timeout $TIMEOUT_APT sudo -S flatpak uninstall -y org.libretro.RetroArch >> "$LOG_FILE" 2>&1 + timeout $TIMEOUT_APT flatpak uninstall -y org.libretro.RetroArch >> "$LOG_FILE" 2>&1 if [ $? -ne 0 ]; then log_error "Échec de la désinstallation de RetroArch" echo "# Erreur lors de la désinstallation de RetroArch" @@ -1982,7 +1982,7 @@ uninstall_retroarch_silent() { fi # Désinstaller sans confirmation ni interface graphique - echo "$password" | timeout $TIMEOUT_APT sudo -S flatpak uninstall -y org.libretro.RetroArch >> "$LOG_FILE" 2>&1 + timeout $TIMEOUT_APT flatpak uninstall -y org.libretro.RetroArch >> "$LOG_FILE" 2>&1 if [ $? -ne 0 ]; then log_error "Échec de la désinstallation de RetroArch" return 1 @@ -2121,7 +2121,7 @@ uninstall_gearlever() { ( echo "50" ; echo "# Désinstallation de Gear Lever..." - echo "$password" | timeout $TIMEOUT_APT sudo -S flatpak uninstall -y it.mijorus.gearlever >> "$LOG_FILE" 2>&1 + timeout $TIMEOUT_APT flatpak uninstall -y it.mijorus.gearlever >> "$LOG_FILE" 2>&1 if [ $? -ne 0 ]; then log_error "Échec de la désinstallation de Gear Lever" echo "# Erreur lors de la désinstallation de Gear Lever" @@ -2163,7 +2163,7 @@ uninstall_gearlever_silent() { fi # Désinstaller sans confirmation ni interface graphique - echo "$password" | timeout $TIMEOUT_APT sudo -S flatpak uninstall -y it.mijorus.gearlever >> "$LOG_FILE" 2>&1 + timeout $TIMEOUT_APT flatpak uninstall -y it.mijorus.gearlever >> "$LOG_FILE" 2>&1 if [ $? -ne 0 ]; then log_error "Échec de la désinstallation de Gear Lever" return 1 @@ -2209,7 +2209,7 @@ uninstall_discord() { ( echo "50" ; echo "# Désinstallation de Discord..." - echo "$password" | timeout $TIMEOUT_APT sudo -S flatpak uninstall -y com.discordapp.Discord >> "$LOG_FILE" 2>&1 + timeout $TIMEOUT_APT flatpak uninstall -y com.discordapp.Discord >> "$LOG_FILE" 2>&1 if [ $? -ne 0 ]; then log_error "Échec de la désinstallation de Discord" echo "# Erreur lors de la désinstallation de Discord" @@ -2251,7 +2251,7 @@ uninstall_discord_silent() { fi # Désinstaller sans confirmation ni interface graphique - echo "$password" | timeout $TIMEOUT_APT sudo -S flatpak uninstall -y com.discordapp.Discord >> "$LOG_FILE" 2>&1 + timeout $TIMEOUT_APT flatpak uninstall -y com.discordapp.Discord >> "$LOG_FILE" 2>&1 if [ $? -ne 0 ]; then log_error "Échec de la désinstallation de Discord" return 1 @@ -2297,7 +2297,7 @@ uninstall_vesktop() { ( echo "50" ; echo "# Désinstallation de Vesktop via Flatpak..." - echo "$password" | timeout $TIMEOUT_APT sudo -S flatpak uninstall -y dev.vencord.Vesktop >> "$LOG_FILE" 2>&1 + timeout $TIMEOUT_APT flatpak uninstall -y dev.vencord.Vesktop >> "$LOG_FILE" 2>&1 if [ $? -ne 0 ]; then log_error "Échec de la désinstallation de Vesktop via Flatpak" echo "# Erreur lors de la désinstallation de Vesktop" @@ -2339,7 +2339,7 @@ uninstall_vesktop_silent() { fi # Désinstaller sans confirmation ni interface graphique - echo "$password" | timeout $TIMEOUT_APT sudo -S flatpak uninstall -y dev.vencord.Vesktop >> "$LOG_FILE" 2>&1 + timeout $TIMEOUT_APT flatpak uninstall -y dev.vencord.Vesktop >> "$LOG_FILE" 2>&1 if [ $? -ne 0 ]; then log_error "Échec de la désinstallation de Vesktop" return 1 @@ -2385,7 +2385,7 @@ uninstall_teamspeak() { ( echo "50" ; echo "# Désinstallation de TeamSpeak via Flatpak..." - echo "$password" | timeout $TIMEOUT_APT sudo -S flatpak uninstall -y com.teamspeak.TeamSpeak3 >> "$LOG_FILE" 2>&1 + timeout $TIMEOUT_APT flatpak uninstall -y com.teamspeak.TeamSpeak3 >> "$LOG_FILE" 2>&1 if [ $? -ne 0 ]; then log_error "Échec de la désinstallation de TeamSpeak via Flatpak" echo "# Erreur lors de la désinstallation de TeamSpeak" @@ -2427,7 +2427,7 @@ uninstall_teamspeak_silent() { fi # Désinstaller sans confirmation ni interface graphique - echo "$password" | timeout $TIMEOUT_APT sudo -S flatpak uninstall -y com.teamspeak.TeamSpeak3 >> "$LOG_FILE" 2>&1 + timeout $TIMEOUT_APT flatpak uninstall -y com.teamspeak.TeamSpeak3 >> "$LOG_FILE" 2>&1 if [ $? -ne 0 ]; then log_error "Échec de la désinstallation de TeamSpeak" return 1 @@ -2566,7 +2566,7 @@ uninstall_flatseal() { ( echo "50" ; echo "# Désinstallation de Flatseal via Flatpak..." - echo "$password" | timeout $TIMEOUT_APT sudo -S flatpak uninstall -y com.github.tchx84.Flatseal >> "$LOG_FILE" 2>&1 + timeout $TIMEOUT_APT flatpak uninstall -y com.github.tchx84.Flatseal >> "$LOG_FILE" 2>&1 if [ $? -ne 0 ]; then log_error "Échec de la désinstallation de Flatseal via Flatpak" echo "# Erreur lors de la désinstallation de Flatseal" @@ -2608,7 +2608,7 @@ uninstall_flatseal_silent() { fi # Désinstaller sans confirmation ni interface graphique - echo "$password" | timeout $TIMEOUT_APT sudo -S flatpak uninstall -y com.github.tchx84.Flatseal >> "$LOG_FILE" 2>&1 + timeout $TIMEOUT_APT flatpak uninstall -y com.github.tchx84.Flatseal >> "$LOG_FILE" 2>&1 if [ $? -ne 0 ]; then log_error "Échec de la désinstallation de Flatseal" return 1 @@ -2694,27 +2694,48 @@ uninstall_lutris_silent() { local password="$1" log_info "Début de la désinstallation de Lutris (mode silencieux)" - # Vérifier si Lutris est installé - if ! dpkg -l | grep -q "^ii.*lutris" && ! command -v lutris &> /dev/null; then + # Vérifier si Lutris est installé via différentes méthodes + local lutris_apt=false + local lutris_flatpak=false + + if dpkg -l | grep -q "^ii.*lutris"; then + lutris_apt=true + fi + + if flatpak list 2>/dev/null | grep -q "net.lutris.Lutris"; then + lutris_flatpak=true + fi + + if [ "$lutris_apt" = false ] && [ "$lutris_flatpak" = false ]; then log_info "Lutris non installé" return 0 fi - # Désinstaller sans confirmation ni interface graphique - echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get purge -y lutris >> "$LOG_FILE" 2>&1 - if ! check_apt_success $? "lutris" "désinstallation"; then - log_error "Échec de la désinstallation de Lutris" - return 1 + # Désinstaller via apt si installé ainsi + if [ "$lutris_apt" = true ]; then + log_info "Désinstallation de Lutris via apt..." + echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get purge -y lutris >> "$LOG_FILE" 2>&1 + if ! check_apt_success $? "lutris" "désinstallation"; then + log_error "Échec de la désinstallation de Lutris (apt)" + return 1 + fi + + # Nettoyage des paquets orphelins + echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get autoremove -y >> "$LOG_FILE" 2>&1 fi - # Nettoyage des paquets orphelins - echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get autoremove -y >> "$LOG_FILE" 2>&1 - if ! check_apt_success $? "paquets orphelins" "nettoyage"; then - log_info "Avertissement: Erreur lors du nettoyage des paquets orphelins" + # Désinstaller via flatpak si installé ainsi + if [ "$lutris_flatpak" = true ]; then + log_info "Désinstallation de Lutris via flatpak..." + timeout $TIMEOUT_APT flatpak uninstall -y net.lutris.Lutris >> "$LOG_FILE" 2>&1 + if [ $? -ne 0 ]; then + log_error "Échec de la désinstallation de Lutris (flatpak)" + return 1 + fi fi # Vérifier si la désinstallation a réussi - if ! dpkg -l | grep -q "^ii.*lutris" && ! command -v lutris &> /dev/null; then + if ! dpkg -l | grep -q "^ii.*lutris" && ! flatpak list 2>/dev/null | grep -q "net.lutris.Lutris"; then log_info "Lutris désinstallé avec succès" return 0 else @@ -2793,27 +2814,48 @@ uninstall_heroic_silent() { local password="$1" log_info "Début de la désinstallation de Heroic Game Launcher (mode silencieux)" - # Vérifier si Heroic est installé - if ! dpkg -l | grep -q "^ii.*heroic" && ! command -v heroic &> /dev/null; then + # Vérifier si Heroic est installé via différentes méthodes + local heroic_apt=false + local heroic_flatpak=false + + if dpkg -l | grep -q "^ii.*heroic"; then + heroic_apt=true + fi + + if flatpak list 2>/dev/null | grep -q "com.heroicgameslauncher.hgl"; then + heroic_flatpak=true + fi + + if [ "$heroic_apt" = false ] && [ "$heroic_flatpak" = false ]; then log_info "Heroic Game Launcher non installé" return 0 fi - # Désinstaller sans confirmation ni interface graphique - echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get purge -y heroic >> "$LOG_FILE" 2>&1 - if ! check_apt_success $? "heroic" "désinstallation"; then - log_error "Échec de la désinstallation de Heroic Game Launcher" - return 1 + # Désinstaller via apt si installé ainsi + if [ "$heroic_apt" = true ]; then + log_info "Désinstallation de Heroic via apt..." + echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get purge -y heroic >> "$LOG_FILE" 2>&1 + if ! check_apt_success $? "heroic" "désinstallation"; then + log_error "Échec de la désinstallation de Heroic Game Launcher (apt)" + return 1 + fi + + # Nettoyage des paquets orphelins + echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get autoremove -y >> "$LOG_FILE" 2>&1 fi - # Nettoyage des paquets orphelins - echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get autoremove -y >> "$LOG_FILE" 2>&1 - if ! check_apt_success $? "paquets orphelins" "nettoyage"; then - log_info "Avertissement: Erreur lors du nettoyage des paquets orphelins" + # Désinstaller via flatpak si installé ainsi + if [ "$heroic_flatpak" = true ]; then + log_info "Désinstallation de Heroic via flatpak..." + timeout $TIMEOUT_APT flatpak uninstall -y com.heroicgameslauncher.hgl >> "$LOG_FILE" 2>&1 + if [ $? -ne 0 ]; then + log_error "Échec de la désinstallation de Heroic Game Launcher (flatpak)" + return 1 + fi fi # Vérifier si la désinstallation a réussi - if ! dpkg -l | grep -q "^ii.*heroic" && ! command -v heroic &> /dev/null; then + if ! dpkg -l | grep -q "^ii.*heroic" && ! flatpak list 2>/dev/null | grep -q "com.heroicgameslauncher.hgl"; then log_info "Heroic Game Launcher désinstallé avec succès" return 0 else diff --git a/net/download.py b/net/download.py index 95e419b..baf2cba 100644 --- a/net/download.py +++ b/net/download.py @@ -60,12 +60,13 @@ def download_file( output_file.write(file_response.content) else: if (show_progress): - total_length = int(total_length) progress_bar = tqdm( - total=total_length, + desc="Downloading", + bar_format='{desc}: {elapsed} [{bar:30}] {rate_fmt}', unit="B", unit_scale=True, - unit_divisor=1024 + unit_divisor=1024, + ncols=80 ) for data in file_response.iter_content(chunk_size=4096): diff --git a/udib.py b/udib.py index 4990de9..91c508d 100755 --- a/udib.py +++ b/udib.py @@ -23,7 +23,7 @@ def main(): parser = get_argument_parser() args = parser.parse_args() - # parse and verify output file if sepcified + # parse and verify output file if specified if args.path_to_output_file: path_to_output_file = Path(args.path_to_output_file) if "~" in str(path_to_output_file): @@ -36,7 +36,7 @@ def main(): else: path_to_output_file = None - # parse and verify output dir if sepcified + # parse and verify output dir if specified if args.path_to_output_dir: path_to_output_dir = Path(args.path_to_output_dir) if "~" in str(path_to_output_dir):