mirror of
https://git.savannah.gnu.org/git/gnuboot.git
synced 2025-01-07 00:37:42 +01:00
Denis 'GNUtoo' Carikli
8f3d30f809
We can't require contributors to install Debian as it has freedom issues[1] but for contributors, installing PureOS is easier since it's at least FSDG compliant[2]. So it makes sense to show that PureOS is the primary target here. This is also reflected in the reality as the current GNU Boot maintainers already installed PureOS 10 inside virtual machines and/or containers to test this script and build the GNU Boot 0.1 RC1 release. [1]https://www.gnu.org/distros/common-distros.html#Debian [2]https://www.gnu.org/distros/free-distros.html Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
106 lines
3.8 KiB
Bash
Executable file
106 lines
3.8 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
# trisquel-10 script: installs build dependencies for Ubuntu 20.04
|
|
#
|
|
# Copyright (C) 2014, 2015, 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, 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 <http://www.gnu.org/licenses/>.
|
|
#
|
|
|
|
[ "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
|
|
|
|
apt-get -y install packagekit
|
|
|
|
# Duplications are intentional. Please do not re-factor.
|
|
#
|
|
# This is so that they can moved to separate scripts.
|
|
#
|
|
|
|
pkcon -y --allow-reinstall install wget
|
|
|
|
# For downloading source code
|
|
# ------------------------------------------------------------
|
|
|
|
pkcon -y --allow-reinstall install git
|
|
|
|
# For Tianocore and iPXE
|
|
# TODO: check whether this is the full list
|
|
|
|
pkcon -y --allow-reinstall install uuid-dev nasm
|
|
|
|
# For building source code:
|
|
# ------------------------------------------------------------
|
|
|
|
pkcon -y --allow-reinstall install build-essential
|
|
|
|
# for running the crostool script (to get mrc.bin file for t440p)
|
|
pkcon -y --allow-reinstall install sharutils curl parted e2fsprogs unzip
|
|
|
|
# to use the right software versions and links for compiling
|
|
pkcon -y --allow-reinstall install pkg-config
|
|
|
|
# for cross-compiling ARM binaries
|
|
pkcon -y --allow-reinstall 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
|
|
pkcon -y --allow-reinstall install gcc-multilib libc6-i386 libc6-dev-i386
|
|
pkcon -y --allow-reinstall install lib32stdc++6 g++-multilib dh-autoreconf
|
|
fi
|
|
|
|
# Memtest86+ build dependencies
|
|
# ------------------------------------------------------------
|
|
|
|
pkcon -y --allow-reinstall install build-essential python2.7 python-is-python3
|
|
|
|
# i945-pwm build dependencies
|
|
# ------------------------------------------------------------
|
|
|
|
pkcon -y --allow-reinstall install build-essential perl
|
|
|
|
# Coreboot build dependencies (also requires build-essential and git)
|
|
# ------------------------------------------------------------
|
|
|
|
pkcon -y --allow-reinstall install libncurses5-dev doxygen acpica-tools gdb flex bison build-essential git libssl-dev gnat
|
|
|
|
# GRUB build dependencies (also requires build-essential, bison and flex)
|
|
# ------------------------------------------------------------
|
|
|
|
pkcon -y --allow-reinstall 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)
|
|
# ------------------------------------------------------------
|
|
|
|
pkcon -y --allow-reinstall install build-essential
|
|
|
|
# Flashrom build dependencies (also requires build-essential)
|
|
# ------------------------------------------------------------
|
|
|
|
pkcon -y --allow-reinstall install libpci-dev pciutils zlib1g-dev libftdi-dev build-essential libusb-1.0-0-dev libusb-1.0-0
|
|
|
|
# For cross-compiling i686 target on x86_64 host.
|
|
[ "${arch}" -eq 0 ] && pkcon -y --allow-reinstall install lib32z1-dev
|
|
|
|
# For running make check
|
|
# ----------------------
|
|
pkcon -y --allow-reinstall install shellcheck # lint
|
|
pkcon -y --allow-reinstall install gawk git grep lzip make sed tar xz-utils # u-boot-libre
|