# Libreboot project firmware distribution # # Copyright (C) 2015 Patrick "P. J." McDermott # # 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 . dist_libreboot_get_name() { printf 'Libreboot project' return 0 } dist_libreboot_get_mirrors() { cat <<-EOF http://mirrors.mit.edu/libreboot/ MIT, USA http://www.mirrorservice.org/sites/libreboot.org/release/ University of Kent, UK http://elgrande74.net/libreboot/ elgrande74.net, France http://mirror.linux.ro/libreboot/ linux.ro, Romania http://ginette.swordarmor.fr/libreboot/ swordarmor.fr, France http://libreboot.nedson.net/ nedson.net, Canada http://mirror.helium.in-berlin.de/libreboot/ in-berlin.de, Germany http://mirror.se.partyvan.eu/pub/libreboot/ partyvan.eu, Sweden EOF return 0 } dist_libreboot_get_versions() { local mirror="${1}" local board="${2}" shift 2 local dl="${WGET} -q -O -" local version= local versions='' while read -r version; do case "${version}" in 201[34]* | 20150[1-4]*) # These versions had ROMs in X60_binary.tar.gz, # libreboot_bin.tar.gz, or libreboot_bin.tar.xz # files. These are unsupported for now. continue ;; '20150518') sums='sha512sums.txt' archive="./rom/libreboot_${version}_${board}" archive="${archive}.tar.xz" ;; *) sums='SHA512SUMS' archive="./rom/libreboot_${version}_${board}" archive="${archive}.tar.xz" ;; esac if ${dl} "${mirror}/${version}/${sums}" | \ grep -F " ${archive}" >/dev/null 2>&1; then versions="${versions} ${version}" fi done <<-EOF 20150518 $(: Hardcode this list until a manifest is available) EOF printf '%s ' ${versions} return 0 }