#!/usr/bin/env bash # Fedora script: installs build dependencies for Fedora # # Copyright (C) 2021 Melody Goad # Copyright (C) 2021 Wei Mingzhi # Copyright (C) 2022 Caleb La Grange # Copyright (C) 2022 Ferass El Hafidi # # 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 . # if [ "$(id -u)" -ne 0 ]; then printf "This script must be run as root\n" exit 1 fi # Duplications are intentional. Please do not re-factor. # # This is so that they can moved to separate scripts. # dnf -y install wget # For downloading source code # ------------------------------------------------------------ dnf -y install git # For building the documentation # ------------------------------------------------------------ dnf -y install pandoc # For Tianocore and iPXE # TODO: check whether this is the full list dnf -y install nasm perl-libwww-perl python3 subversion # For building source code: # ------------------------------------------------------------ dnf -y install gcc # for running the crostool script (to get mrc.bin file for t440p) dnf -y install sharutils curl parted e2fsprogs unzip # for cross-compiling ARM binaries dnf -y install arm-none-eabi-gcc-cs # Memtest86+ build dependencies # ------------------------------------------------------------ dnf -y install gcc python3 # i945-pwm build dependencies # ------------------------------------------------------------ dnf -y install gcc perl # Coreboot build dependencies (also requires build-essential and git) # ------------------------------------------------------------ dnf -y install gcc-gnat ncurses-devel doxygen acpica-tools gdb flex bison \ gcc git openssl-devel gprbuild bzip2 # GRUB build dependencies (also requires build-essential, bison and flex) # ------------------------------------------------------------ dnf -y install unifont-fonts unifont unifont-ttf-fonts autogen help2man \ gcc bison flex dejavu-fonts-all texinfo rsync python3 \ libusb xz gawk device-mapper fuse gettext freetype-devel \ intltool libselinux-devel # BucTS build dependencies (external script) # ------------------------------------------------------------ dnf -y install gcc # Flashrom build dependencies (also requires build-essential) # ------------------------------------------------------------ dnf -y install pciutils-devel zlib-devel libftdi-devel gcc libusb-devel # For extracting IntelME from lenovo updates (X230 etc) dnf -y install innoextract p7zip p7zip-plugins