#!/usr/bin/env bash # script download: télécharge les programmes utilisés # dans libreboot qui ne sont pas fournis # par le répertoire git. # # Copyright (C) 2014, 2015 Leah Rowe # Copyright (C) 2015 Klemens Nanni # # Ce programme est un logiciel libre: vous pouvez le redistribuer et/ou # le modifier sous les termes de la License Publique GNU Générale publiée # comme telle par la Free Software Foundation, soit la version 3 de la License, # ou (selon votre choix) n'importe quelle version plus récente. # # Ce programme est fournit dans l'espoir qu'il sera utile, mais SANS AUCUNE # GARANTIE; sans même la garantie implicite de MARCHANBILITÉ ou de RÉPONSE # À UN BUT PARTICULIER. Voyez la License Publique GNU générale pour plus # de détails. # # Vous devriez avoir reçu une copie de la License Publique GNU générale # avec ce programme. Si ce n'est pas le cas, visitez # . # [ "x${DEBUG+set}" = 'xset' ] && set -v set -u -e download="resources/scripts/helpers/download" # echo "${programs##*/}" ; echo "${programs%/*}" programs="$(for program in ${download}/*; do printf "%s\n" "${program##*/}"; done)" noconfirm="0" help () { printf "%s\n\n" "./download program(s) #si vous spécifiez plusieurs programmes, il faut les séparer par des espaces." printf "Valeurs possible pour 'programs':\nall:\n%s\n\n" "${programs}" printf "Exemple (tout télécharger): ./download all\n" printf "Exemple (télécharger flashrom): ./download flashrom\n" printf "Exemple (télécharger coreboot): ./download coreboot\n" printf "Exemple (télécharger coreboot et flashrom): ./download coreboot flashrom\n" printf "Exemple (liste tout les composants disponibles téléchargeables): ./download list\n" } if [ $# -lt 1 ]; then printf "ERREUR: download script: pas d'argument donné.\n" help exit 1 fi if [ "${1}" = "--noconfirm" ] || [ "${1}" = "-y" ]; then noconfirm="1" shift 1 fii case "${1}" in all) ;; list) printf "Valeurs possibles pour 'programs':\nall\n%s\n\n" "${programs}" exit ;; help) help exit ;; *) for program in "${@}"; do printf "%s" "${programs}\n" | grep -wq "${program}" || (printf "ERREUR: programme invalide'%s'. Jetez un coup d'oeil à ./download help.\n" "${program}"; exit 1) done programs="${*}" ;; esac for program in ${programs}; do if [ "${noconfirm}" = "0" ]; then printf "Utilisez \"./download --noconfirm\" ou \"./download -y\" si vous voulez vous débarasser des dialogues de confirmation.\n\n" if [ -d "${program}/" ]; then if [ "${program}" = "seabios" ]; then # temporary hack. download grub also downloads seabios, # which breaks automated build when running ./download all # Later on, we'll delete the seabios download script # and grub download script and replace both with # a download seagrub script rm -Rf "${program:?}" && printf "Ancien dossier %s supprimé.\n\n" "${program}" else printf "Le répertoire %s existe déjà, le supprimer ? [oN]: " "${program}" read -r answer if [ "${answer}" = "o" ]; then rm -Rf "${program:?}" && printf "Ancien dossier %s supprimé.\n\n" "${program}" else printf "Le répertoire %s n'a pas été supprimé et de ce fait non remplacé.\n" "${program}" continue fi fi fi fi "${download}/${program}" done