2
1
Fork 0
mirror of https://git.savannah.gnu.org/git/gnuboot.git synced 2025-01-03 14:57:42 +01:00
gnuboot/resources/dependencies/arch
Denis 'GNUtoo' Carikli e8f42a4180
dependencies: fix installation when the package is already installed.
Without that fix already the installation script fails on PureOS when
some packages are already installed :
    # ./resources/dependencies/debian
    [...]
    [...] Package not found: wget
    [...] Command failed: The selected packages may already be installed.

Since most other dependencies installation scripts also use
PackageKit, they are likely to behave in the same way and so we also
apply the same fix.

This was broken by the commit 0f74569af0
("dependencies: switch arch, debian, fedora35, ubuntu2004 to
packagekit").

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:43:07 +01:00

92 lines
3.1 KiB
Bash
Executable file

#!/usr/bin/env bash
# arch script: installs build dependencies for Arch Linux
#
# Copyright (C) 2021 Melissa Goad <mszoopers@protonmail.com>
#
# 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
if [ $EUID -ne 0 ]; then
printf "This script must be run as root\n"
exit 1
fi
pacman -S --needed --noconfirm 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 nasm perl-libwww python2 subversion
# For building source code:
# ------------------------------------------------------------
pkcon -y --allow-reinstall install base-devel
# for running the crostool script (to get mrc.bin file for t440p)
pkcon -y --allow-reinstall install sharutils curl parted e2fsprogs unzip
# for cross-compiling ARM binaries
pkcon -y --allow-reinstall install arm-none-eabi-gcc
# Memtest86+ build dependencies
# ------------------------------------------------------------
pkcon -y --allow-reinstall install base-devel python2
# i945-pwm build dependencies
# ------------------------------------------------------------
pkcon -y --allow-reinstall install base-devel perl
# Coreboot build dependencies (also requires build-essential and git)
# ------------------------------------------------------------
pkcon -y --allow-reinstall install ncurses doxygen acpica gdb flex bison base-devel git openssl gcc-ada
# GRUB build dependencies (also requires build-essential, bison and flex)
# ------------------------------------------------------------
pkcon -y --allow-reinstall install bdf-unifont autogen help2man base-devel bison flex ttf-dejavu texinfo rsync python libusb xz gawk device-mapper fuse2 gettext freetype2
# BucTS build dependencies (external script)
# ------------------------------------------------------------
pkcon -y --allow-reinstall install base-devel
# Flashrom build dependencies (also requires build-essential)
# ------------------------------------------------------------
pkcon -y --allow-reinstall install libpciaccess pciutils zlib libftdi base-devel libusb
# For running make check
# ----------------------
pacman -S --needed shellcheck # lint
pacman -S --needed awk git grep lzip make sed tar xz # u-boot-libre