From 9031bb7ba79022f1334b05d4d8d5caaadf775bac Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 20 Aug 2023 21:17:02 +0100 Subject: unify dependencies scripts the unified logic is so small that i simply added it to the main "build" script commands are identical. example: ./build dependencies debian Signed-off-by: Leah Rowe --- resources/scripts/build/dependencies/arch | 108 ------------------- resources/scripts/build/dependencies/debian | 138 ------------------------ resources/scripts/build/dependencies/fedora38 | 103 ------------------ resources/scripts/build/dependencies/parabola | 113 ------------------- resources/scripts/build/dependencies/ubuntu2004 | 120 --------------------- resources/scripts/build/dependencies/void | 96 ----------------- 6 files changed, 678 deletions(-) delete mode 100755 resources/scripts/build/dependencies/arch delete mode 100755 resources/scripts/build/dependencies/debian delete mode 100755 resources/scripts/build/dependencies/fedora38 delete mode 100755 resources/scripts/build/dependencies/parabola delete mode 100755 resources/scripts/build/dependencies/ubuntu2004 delete mode 100755 resources/scripts/build/dependencies/void (limited to 'resources/scripts/build/dependencies') diff --git a/resources/scripts/build/dependencies/arch b/resources/scripts/build/dependencies/arch deleted file mode 100755 index 92af1a87..00000000 --- a/resources/scripts/build/dependencies/arch +++ /dev/null @@ -1,108 +0,0 @@ -#!/usr/bin/env sh - -# arch script: installs build dependencies for Arch Linux -# -# Copyright (C) 2021 Melissa Goad -# Copyright (C) 2022 Caleb La Grange -# Copyright (C) 2022 Ferass El Hafidi -# Copyright (C) 2023 Andreas Hartmann -# -# 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. -# - -pacman -S --needed --noconfirm wget - -# For downloading source code -# ------------------------------------------------------------ - -pacman -S --needed --noconfirm git - -# For Tianocore and iPXE -# TODO: check whether this is the full list - -pacman -S --needed --noconfirm nasm perl-libwww python subversion - -# For building source code: -# ------------------------------------------------------------ - -pacman -S --needed --noconfirm base-devel - -# for running the crostool script (to get mrc.bin file for t440p) -pacman -S --needed --noconfirm sharutils curl parted e2fsprogs unzip - -# for cross-compiling ARM binaries -pacman -S --needed --noconfirm arm-none-eabi-gcc - -# Memtest86+ build dependencies -# ------------------------------------------------------------ - -pacman -S --needed --noconfirm base-devel python - -# i945-pwm build dependencies -# ------------------------------------------------------------ - -pacman -S --needed --noconfirm base-devel perl - -# Coreboot build dependencies (also requires build-essential and git) -# ------------------------------------------------------------ - -pacman -S --needed --noconfirm ncurses doxygen acpica gdb flex bison \ - base-devel git openssl gcc-ada - -# GRUB build dependencies (also requires build-essential, bison and flex) -# ------------------------------------------------------------ - -pacman -S --needed --noconfirm autogen help2man base-devel bison flex \ - ttf-dejavu texinfo rsync python libusb xz gawk device-mapper \ - fuse2 gettext freetype2 - -# BucTS build dependencies (external script) -# ------------------------------------------------------------ - -pacman -S --needed --noconfirm base-devel - -# Flashrom build dependencies (also requires build-essential) -# ------------------------------------------------------------ - -pacman -S --needed --noconfirm libpciaccess pciutils zlib libftdi \ - base-devel libusb - -# Management engine extraction dependencies -# ------------------------------------------------------------ - -pacman -S --needed --noconfirm innoextract p7zip unar - -# UEFIExtract -# ------------ - -pacman -S --needed --noconfirm cmake - -# U-Boot build dependencies -# ------------------------------------------------------------ -pacman -S --needed --noconfirm swig dtc - -printf "You also need unifont and bdf-unifont from AUR, to build GRUB:\n" -printf "https://aur.archlinux.org/pkgbase/unifont\n" -printf "https://aur.archlinux.org/pkgbase/bdf-unifont\n" diff --git a/resources/scripts/build/dependencies/debian b/resources/scripts/build/dependencies/debian deleted file mode 100755 index 065cb2c7..00000000 --- a/resources/scripts/build/dependencies/debian +++ /dev/null @@ -1,138 +0,0 @@ -#!/usr/bin/env sh - -# ubuntu2004 script: installs build dependencies for Ubuntu 20.04 -# -# Copyright (C) 2014, 2015, 2021 Leah Rowe -# 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, 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 . -# - -set -e - -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. -# - -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 python3 - -# i945-pwm build dependencies -# ------------------------------------------------------------ - -apt-get -y install build-essential perl - -# u-boot needed this - -apt-get -y install python3-setuptools - -# 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 python-is-python3 - -# 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 gettext - -apt-get -y install unifont - -# U-Boot build dependencies -# ------------------------- - -apt-get -y install bc bison build-essential device-tree-compiler efitools \ - flex libfdt-dev liblz4-tool libgnutls28-dev libncurses-dev \ - libpython3-dev libsdl2-dev libssl-dev lz4 lzma lzma-alone \ - openssl pkg-config python3 python3-distutils \ - python3-pkg-resources python3-pycryptodome \ - python3-pyelftools swig uuid-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 - -# UEFIExtract -# ------------ - -apt-get -y install cmake - -# Blobs building dependencies (for me) -# ------------------------------------------------------------ - -apt-get -y install innoextract p7zip p7zip-full unar diff --git a/resources/scripts/build/dependencies/fedora38 b/resources/scripts/build/dependencies/fedora38 deleted file mode 100755 index 57dd20a3..00000000 --- a/resources/scripts/build/dependencies/fedora38 +++ /dev/null @@ -1,103 +0,0 @@ -#!/usr/bin/env sh - -# 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 - -# UEFIExtract -# ------------ - -dnf -y install cmake - -# For extracting IntelME from lenovo updates (X230 etc) - -dnf -y install innoextract p7zip p7zip-plugins unar diff --git a/resources/scripts/build/dependencies/parabola b/resources/scripts/build/dependencies/parabola deleted file mode 100755 index 67a5fe75..00000000 --- a/resources/scripts/build/dependencies/parabola +++ /dev/null @@ -1,113 +0,0 @@ -#!/usr/bin/env sh - -# parabola script: installs build dependencies for Parabola GNU/Linux-libre -# based on the arch script -# -# Copyright (C) 2021 Melissa Goad -# Copyright (C) 2022 Caleb La Grange -# Copyright (C) 2022 Ferass El Hafidi -# Copyright (C) 2023 Andreas Hartmann -# Copyright (C) 2023 Riku Viitanen -# -# 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. -# - -pacman -S --needed --noconfirm wget - -# For downloading source code -# ------------------------------------------------------------ - -pacman -S --needed --noconfirm git - -# For Tianocore and iPXE -# TODO: check whether this is the full list - -pacman -S --needed --noconfirm nasm perl-libwww python subversion - -# For building source code: -# ------------------------------------------------------------ - -pacman -S --needed --noconfirm base-devel - -# for running the crostool script (to get mrc.bin file for t440p) -pacman -S --needed --noconfirm sharutils curl parted e2fsprogs unzip - -# for cross-compiling ARM binaries -pacman -S --needed --noconfirm arm-none-eabi-gcc - -# Memtest86+ build dependencies -# ------------------------------------------------------------ - -pacman -S --needed --noconfirm base-devel python - -# i945-pwm build dependencies -# ------------------------------------------------------------ - -pacman -S --needed --noconfirm base-devel perl - -# Coreboot build dependencies (also requires build-essential and git) -# ------------------------------------------------------------ - -pacman -S --needed --noconfirm ncurses doxygen acpica gdb flex bison \ - base-devel git openssl gcc-ada - -# GRUB build dependencies (also requires build-essential, bison and flex) -# ------------------------------------------------------------ - -pacman -S --needed --noconfirm autogen help2man base-devel bison flex \ - ttf-dejavu texinfo rsync python libusb xz gawk \ - device-mapper fuse2 gettext freetype2 - -# BucTS build dependencies (external script) -# ------------------------------------------------------------ - -pacman -S --needed --noconfirm base-devel - -# Flashrom build dependencies (also requires build-essential) -# ------------------------------------------------------------ - -pacman -S --needed --noconfirm libpciaccess pciutils zlib \ - libftdi base-devel libusb - -# Management engine extraction dependencies -# -# ------------------------------------------------------------ - -pacman -S --needed --noconfirm innoextract p7zip unar - -# U-Boot build dependencies -# ------------------------------------------------------------ -pacman -S --needed --noconfirm swig dtc - -# UEFIExtract -# ------------ - -pacman -S --needed --noconfirm cmake - -# Unifont, for GRUB -# ------------------------------------------------------------ - -pacman -S --needed --noconfirm unifont-utils bdf-unifont - diff --git a/resources/scripts/build/dependencies/ubuntu2004 b/resources/scripts/build/dependencies/ubuntu2004 deleted file mode 100755 index 8ea5507b..00000000 --- a/resources/scripts/build/dependencies/ubuntu2004 +++ /dev/null @@ -1,120 +0,0 @@ -#!/usr/bin/env sh - -# ubuntu2004 script: installs build dependencies for Ubuntu 20.04 -# -# Copyright (C) 2014, 2015, 2021 Leah Rowe -# 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, 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 . -# - -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. -# - -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 python3 - -# 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 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 gettext - -# 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 - -# UEFIExtract -# ------------ - -apt-get -y install cmake - -# Blobs building dependencies (for me) -# ------------------------------------------------------------ - -apt-get -y install innoextract p7zip p7zip-full unar diff --git a/resources/scripts/build/dependencies/void b/resources/scripts/build/dependencies/void deleted file mode 100755 index 96263f9c..00000000 --- a/resources/scripts/build/dependencies/void +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/env sh - -# void script: installs build dependencies for Void Linux -# -# Copyright (C) 2021 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. -# - -xbps-install -y wget - -# For downloading source code -# ------------------------------------------------------------ - -xbps-install -y git - -# For Tianocore and iPXE -# TODO: check whether this is the full list - -xbps-install -y nasm perl-LWP python subversion - -# For building source code: -# ------------------------------------------------------------ - -xbps-install -y base-devel - -# for running the crostool script (to get mrc.bin file for t440p) -xbps-install -y sharutils curl parted e2fsprogs unzip - -# for cross-compiling ARM binaries -xbps-install -y cross-arm-none-eabi-gcc - -# Memtest86+ build dependencies -# ------------------------------------------------------------ - -xbps-install -y base-devel python - -# i945-pwm build dependencies -# ------------------------------------------------------------ - -xbps-install -y base-devel perl - -# Coreboot build dependencies (also requires build-essential and git) -# ------------------------------------------------------------ - -xbps-install -y ncurses doxygen acpica-utils gdb flex bison base-devel git \ - openssl gcc-ada ncurses-devel - -# GRUB build dependencies (also requires build-essential, bison and flex) -# ------------------------------------------------------------ - -xbps-install -y font-unifont-bdf autogen help2man base-devel bison flex \ - dejavu-fonts-ttf texinfo rsync python3 libusb xz gawk \ - device-mapper fuse gettext gettext-devel freetype - -# BucTS build dependencies (external script) -# ------------------------------------------------------------ - -xbps-install -y base-devel - -# Flashrom build dependencies (also requires build-essential) -# ------------------------------------------------------------ - -xbps-install -y libpciaccess pciutils zlib libftdi1 base-devel libusb - -# UEFIExtract -# ------------ - -xbps-install -y cmake - -# Management engine extraction dependencies -# ------------------------------------------------------------ - -xbps-install -y innoextract p7zip unar -- cgit v1.2.1