mirror of
https://git.savannah.gnu.org/git/gnuboot.git
synced 2025-01-07 09:07:39 +01:00
Denis 'GNUtoo' Carikli
e891de5d5e
The trisquel-10 file was first introduced by Leah Rowe in 2014 as it cannot be found in 2013 Libreboot tarball releases (20131212, 20131213, 20131214) but it is found in 20140711. We then have the complete history through the obsolete-repository-preserved-for-historical-purposes, osbmk and GNU Boot repositories. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
132 lines
4.2 KiB
Bash
Executable file
132 lines
4.2 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
# trisquel-10 script: installs build dependencies for Ubuntu 20.04
|
|
#
|
|
# Copyright (C) 2014-2016, 2020-2021 Leah Rowe <info@minifree.org>
|
|
# Copyright (C) 2016, Klemens Nanni <contact@autoboot.org>
|
|
# Copyright (C) 2020, Wei Mingzhi <whistler_wmz@users.sf.net>
|
|
# Copyright (C) 2021, madbehaviorus <mad.behaviorus@mailbox.org>
|
|
# Copyright (C) 2021, Ron Nazarov <noisytoot@disroot.org>
|
|
# Copyright (C) 2023-2024 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.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
|
|
|
|
install_packages()
|
|
{
|
|
to_install=""
|
|
|
|
for package in $@ ; do
|
|
if pkcon resolve ${package} | grep '^Installed' 2>&1>/dev/null ; then
|
|
continue
|
|
else
|
|
to_install="${to_install} ${package}"
|
|
fi
|
|
done
|
|
|
|
if [ -n "${to_install}" ] ; then
|
|
pkcon -y --allow-reinstall install ${to_install}
|
|
fi
|
|
}
|
|
|
|
if [ $EUID -ne 0 ]; then
|
|
printf "This script must be run as root\n"
|
|
exit 1
|
|
fi
|
|
|
|
apt-get -y install packagekit-tools
|
|
|
|
# Duplications are intentional. Please do not re-factor.
|
|
#
|
|
# This is so that they can moved to separate scripts.
|
|
#
|
|
|
|
install_packages wget
|
|
|
|
# For downloading source code
|
|
# ------------------------------------------------------------
|
|
|
|
install_packages git
|
|
|
|
# For Tianocore and iPXE
|
|
# TODO: check whether this is the full list
|
|
|
|
install_packages uuid-dev nasm
|
|
|
|
# For building source code:
|
|
# ------------------------------------------------------------
|
|
|
|
install_packages build-essential
|
|
|
|
# for running the crostool script (to get mrc.bin file for t440p)
|
|
install_packages sharutils curl parted e2fsprogs unzip
|
|
|
|
# to use the right software versions and links for compiling
|
|
install_packages libtool pkg-config
|
|
|
|
# for cross-compiling ARM binaries
|
|
install_packages 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
|
|
install_packages gcc-multilib libc6-i386 libc6-dev-i386
|
|
install_packages lib32stdc++6 g++-multilib dh-autoreconf
|
|
fi
|
|
|
|
# Memtest86+ build dependencies
|
|
# ------------------------------------------------------------
|
|
|
|
install_packages build-essential python2.7 python-is-python3
|
|
|
|
# i945-pwm build dependencies
|
|
# ------------------------------------------------------------
|
|
|
|
install_packages build-essential perl
|
|
|
|
# Coreboot build dependencies (also requires build-essential and git)
|
|
# ------------------------------------------------------------
|
|
|
|
install_packages libncurses5-dev doxygen acpica-tools gdb flex bison build-essential git libssl-dev gnat
|
|
|
|
# GRUB build dependencies (also requires build-essential, bison and flex)
|
|
# ------------------------------------------------------------
|
|
|
|
install_packages ttf-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)
|
|
# ------------------------------------------------------------
|
|
|
|
install_packages build-essential
|
|
|
|
# Flashrom build dependencies (also requires build-essential)
|
|
# ------------------------------------------------------------
|
|
|
|
install_packages libpci-dev pciutils zlib1g-dev libftdi-dev build-essential libusb-1.0-0-dev libusb-1.0-0-dev libusb-dev
|
|
|
|
# For cross-compiling i686 target on x86_64 host.
|
|
[ "${arch}" -eq 0 ] && install_packages lib32z1-dev
|
|
|
|
# For running make check
|
|
# ----------------------
|
|
install_packages shellcheck # lint
|
|
install_packages gawk git grep lzip make sed tar xz-utils # u-boot-libre
|
|
|
|
# For building the website tarball
|
|
pkcon -y --allow-reinstall install pandoc
|