blob: 0c623a06c6f54db453705a3546a35584656603bd (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
#!/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 <info@minifree.org>
# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org>
#
# 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
# <http://www.gnu.org/licenses/>.
#
[ "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
|