123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #!/usr/bin/env bash
- # helper script: Downloads GRUB and patches it.
- #
- # Copyright (C) 2014, 2015, 2016, 2020, 2021 Leah Rowe <info@minifree.org>
- #
- # 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 <http://www.gnu.org/licenses/>.
- #
- [ "x${DEBUG+set}" = 'xset' ] && set -v
- set -u -e
- usage()
- {
- progname="./download grub"
- printf "Usage:\n"
- printf "\t%s # %s\n" \
- "${progname}" \
- "Download GRUB"
- printf "\t%s --help # %s\n" \
- "${progname}" \
- "Prints this help"
- }
- if [ $# -ne 0 ] ; then
- usage
- exit 0
- fi
- # Remove the old version that may still exist
- # ------------------------------------------------------------------------------
- printf "Downloading GRUB\n"
- rm -Rf "grub/"
- # Get latest GRUB
- # ------------------------------------------------------------------------------
- # download it using git
- git clone git://git.savannah.gnu.org/grub.git || git clone http://git.savannah.gnu.org/r/grub.git
- if [ ! -d "grub" ]; then
- printf "grub not downloaded; check network connection?\n\n"
- exit 1
- fi
- (
- # modifications are required
- cd "grub/"
- # reset to known revision
- git reset --hard 50aace6bdb918150ba47e3c16146dcca271c134a
- for grubpatch in ../resources/grub/patches/*; do
- git am "${grubpatch}"
- done
- git clone git://git.sv.gnu.org/gnulib gnulib
- cd gnulib/
- # NOTE: when updating this, make sure it's the version specified
- # in bootstrap.conf on that version of GRUB, as specified above
- git reset --hard d271f868a8df9bbec29049d01e056481b7a1a263
- rm -Rf .git*
- )
- printf "\n\n"
|