From 8a79f7b1633c603a75364960a65b3257c8efbd7c Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Thu, 18 Nov 2021 07:13:54 +0000 Subject: [PATCH] Fix https://notabug.org/libreboot/lbmk/issues/59 --- Makefile | 9 +- resources/scripts/build/dependencies/debian | 104 ++++++++++++++++++ .../scripts/build/dependencies/ubuntu2004 | 5 +- 3 files changed, 114 insertions(+), 4 deletions(-) create mode 100755 resources/scripts/build/dependencies/debian diff --git a/Makefile b/Makefile index 6b3f503..e0dac0e 100644 --- a/Makefile +++ b/Makefile @@ -21,7 +21,8 @@ # .PHONY: all download modules ich9m-descriptors payloads roms release clean \ - crossgcc-clean install-dependencies-ubuntu + crossgcc-clean install-dependencies-ubuntu install-dependencies-debian \ + install-dependencies-arch all: roms @@ -60,3 +61,9 @@ crossgcc-clean: install-dependencies-ubuntu: ./build dependencies ubuntu2004 + +install-dependencies-debian: + ./build dependencies debian + +install-dependencies-arch: + ./build dependencies arch diff --git a/resources/scripts/build/dependencies/debian b/resources/scripts/build/dependencies/debian new file mode 100755 index 0000000..275ce16 --- /dev/null +++ b/resources/scripts/build/dependencies/debian @@ -0,0 +1,104 @@ +#!/usr/bin/env bash + +# ubuntu2004 script: installs build dependencies for Ubuntu 20.04 +# +# Copyright (C) 2014, 2015, 2021 Leah 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, version 3 of the License. +# +# 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 + +if [ $EUID -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. +# + +apt-get -y install wget + +# For downloading source code +# ------------------------------------------------------------ + +apt-get -y install git + +# For Tianocore and iPXE +# TODO: check whether this is the full list + +apt-get -y install uuid-dev nasm + +# For building source code: +# ------------------------------------------------------------ + +apt-get -y install build-essential + +# for running the crostool script (to get mrc.bin file for t440p) +apt-get -y install sharutils curl parted e2fsprogs unzip + +# to use the right software versions and links for compiling +apt-get -y install pkg-config + +# for cross-compiling ARM binaries +apt-get -y install gcc-arm-linux-gnueabi + +[ "$(uname -i)" = x86_64 ] || [ "$(uname -m)" = x86_64 ] +arch=${?} + +# For cross-compiling i686 target on x86_64 host. +if [ "${arch}" -eq 0 ]; then + apt-get -y install gcc-multilib libc6-i386 libc6-dev-i386 + apt-get -y install lib32stdc++6 g++-multilib dh-autoreconf + # recommended, but not sure what for: + apt-get -y install lib32tinfo-dev +fi + +# Memtest86+ build dependencies +# ------------------------------------------------------------ + +apt-get -y install build-essential python2.7 + +# i945-pwm build dependencies +# ------------------------------------------------------------ + +apt-get -y install build-essential perl + +# Coreboot build dependencies (also requires build-essential and git) +# ------------------------------------------------------------ + +apt-get -y install libncurses5-dev doxygen iasl gdb flex bison build-essential git libssl-dev gnat + +# For cross-compiling i686 target on x86_64 host. +[ "${arch}" -eq 0 ] && apt-get -y install lib32ncurses5-dev + +# GRUB build dependencies (also requires build-essential, bison and flex) +# ------------------------------------------------------------ + +apt-get -y install fonts-unifont libopts25 libselinux1-dev autogen m4 autoconf help2man libopts25-dev libfont-freetype-perl automake autotools-dev build-essential bison flex libfuse-dev liblzma-dev gawk libdevmapper-dev libtool libfreetype6-dev + +# BucTS build dependencies (external script) +# ------------------------------------------------------------ + +apt-get -y install build-essential + +# Flashrom build dependencies (also requires build-essential) +# ------------------------------------------------------------ + +apt-get -y install libpci-dev pciutils zlib1g-dev libftdi-dev build-essential libusb-1.0-0-dev libusb-1.0 libusb-1.0-0-dev libusb-dev + +# For cross-compiling i686 target on x86_64 host. +[ "${arch}" -eq 0 ] && apt-get -y install lib32z1-dev diff --git a/resources/scripts/build/dependencies/ubuntu2004 b/resources/scripts/build/dependencies/ubuntu2004 index 158983e..25e0d64 100755 --- a/resources/scripts/build/dependencies/ubuntu2004 +++ b/resources/scripts/build/dependencies/ubuntu2004 @@ -2,12 +2,11 @@ # ubuntu2004 script: installs build dependencies for Ubuntu 20.04 # -# Copyright (C) 2014, 2015 Leah Rowe +# Copyright (C) 2014, 2015, 2021 Leah 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. +# the Free Software Foundation, version 3 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of