#!/bin/bash # download script: Download the programmes used in libreboot, that # aren't distributed in the git repository. # # Copyright (C) 2014, 2015 Francis Rowe # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # [ "x${DEBUG+set}" = 'xset' ] && set -v set -u -e download="./resources/scripts/helpers/download" programmes="unknown" usage="./download programme(s) # programmes are space separated, if specifing multiple programmes" availableprogrammes="$(ls ${download}/)" # User specified no or too few/many parameters if [ $# -lt 1 ]; then printf "%s\n\n" "${usage}" printf "possible values for 'programmes':\nall:\n%s\n\n" "${availableprogrammes}" printf "Example (download everything): ./download all\n" printf "Example (download flashrom): ./download flashrom\n" printf "Example (download coreboot): ./download coreboot\n" printf "Example (download coreboot and flashrom): ./download coreboot flashrom\n" printf "Example (lists all available downloadable components): ./download list\n" exit 1 fi programmes="$@" if [ "${programmes}" = "all" ]; then for programme in ${availableprogrammes}; do ${download}/${programme} done elif [ "${programmes}" = "list" ]; then printf "Available programmes are:\nall\n%s\n" "${availableprogrammes}" else for programme in ${programmes}; do printf "\"%s\"\n" "${programme}" if [ -f "${download}/${programme}" ]; then ${download}/${programme} else printf "download: WARNING: Invalid programme '%s'. Available programmes are:\nall\n%s\n" "${programmes}" "${availableprogrammes}" fi done fi # ------------------- DONE ----------------------