[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v1 08/18] resources: dependencies: unify PureOS and Trisquel.
From: |
Denis 'GNUtoo' Carikli |
Subject: |
[PATCH v1 08/18] resources: dependencies: unify PureOS and Trisquel. |
Date: |
Fri, 29 Nov 2024 20:14:22 +0100 |
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
---
Makefile.am | 19 +--
resources/dependencies/pureos-10 | 131 ------------------
.../{trisquel => pureos-trisquel} | 8 +-
resources/packages/dependencies/install | 8 +-
website/pages/docs/build/index.md | 23 +--
website/pages/docs/history/index.md | 2 +-
website/pages/docs/install/spi.md | 4 +-
7 files changed, 24 insertions(+), 171 deletions(-)
delete mode 100755 resources/dependencies/pureos-10
rename resources/dependencies/{trisquel => pureos-trisquel} (94%)
diff --git a/Makefile.am b/Makefile.am
index 7cd3dbeb..1248df58 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -23,8 +23,8 @@
SHELL := bash
.PHONY: all check download modules ich9m-descriptors payloads roms release \
- clean crossgcc-clean install-dependencies-ubuntu \
- install-dependencies-pureos-10 install-dependencies-arch \
+ clean crossgcc-clean \
+ install-dependencies-pureos-trisquel install-dependencies-arch \
install-dependencies-void
LOG = make-$(shell date '+%s').log
@@ -82,14 +82,9 @@ crossgcc-clean:
distclean:
./build distclean all
-install-dependencies-ubuntu:
+install-dependencies-pureos-trisquel:
echo 'Makefile: running $@ target' >> $(LOG)
- set -o pipefail ; ./build dependencies trisquel | tee -a $(LOG)
- @echo "[ OK ] Makefile: $@ target. See $(LOG) for the log."
-
-install-dependencies-pureos-10:
- echo 'Makefile: running $@ target' >> $(LOG)
- set -o pipefail ; ./build dependencies pureos-10 | tee -a $(LOG)
+ set -o pipefail ; ./build dependencies pureos-trisquel | tee -a $(LOG)
@echo "[ OK ] Makefile: $@ target. See $(LOG) for the log."
install-dependencies-arch:
@@ -114,10 +109,8 @@ include
resources/packages/i945-thinkpads-install-utilities/Makefile.am
help:
@printf "Available commands:\n"
- @printf "\tsudo make install-dependencies-ubuntu # %s\n" \
- "Install required dependencies on Ubuntu."
- @printf "\tsudo make install-dependencies-pureos-10 # %s\n" \
- "Install required dependencies on PureOS 10 (byzantium)."
+ @printf "\t# Install required dependencies on PureOS 10 (byzantium).\n"
+ @printf "\tsudo make install-dependencies-pureos-trisquel\n\n" \
@printf "\tmake release # %s\n" \
"Build a GNU Boot release."
@printf "\tmake clean # %s\n" \
diff --git a/resources/dependencies/pureos-10 b/resources/dependencies/pureos-10
deleted file mode 100755
index 972fb87a..00000000
--- a/resources/dependencies/pureos-10
+++ /dev/null
@@ -1,131 +0,0 @@
-#!/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, Adrien Bourmault <neox@a-lec.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
-
-to_install=""
-install_packages()
-{
- for package in $@ ; do
- if dpkg -l "${package}" | grep "^ii" 2>&1>/dev/null ; then
- continue
- else
- to_install="${to_install} ${package}"
- fi
- done
-}
-
-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.
-#
-
-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 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 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-bin 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
-
-# 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
-install_packages \
- graphviz \
- pandoc
-
-if [ -n "${to_install}" ] ; then
- apt install -y ${to_install}
-fi
diff --git a/resources/dependencies/trisquel
b/resources/dependencies/pureos-trisquel
similarity index 94%
rename from resources/dependencies/trisquel
rename to resources/dependencies/pureos-trisquel
index 9ed8eb8f..d1228601 100755
--- a/resources/dependencies/trisquel
+++ b/resources/dependencies/pureos-trisquel
@@ -1,14 +1,14 @@
#!/usr/bin/env bash
-# trisquel script: installs build dependencies for Trisquel 9 and 10.
+# trisquel script: installs build dependencies for PureOS 10, Trisquel 9 and
Trisquel 10.
#
# 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, Adrien Bourmault <neox@a-lec.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
@@ -108,7 +108,7 @@ if ! grep -q 'VERSION_CODENAME="nabia"' /etc/os-release ;
then
install_packages fonts-unifont
fi
-install_packages 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 unifont
+install_packages 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 libtool-bin
libfreetype6-dev unifont
# BucTS build dependencies (external script)
# ------------------------------------------------------------
@@ -118,7 +118,7 @@ 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-dev
+install_packages libpci-dev pciutils zlib1g-dev libftdi-dev build-essential
libusb-1.0-0 libusb-1.0-0-dev libusb-dev
# For cross-compiling i686 target on x86_64 host.
[ "${arch}" -eq 0 ] && install_packages lib32z1-dev
diff --git a/resources/packages/dependencies/install
b/resources/packages/dependencies/install
index cb53f294..23d33236 100755
--- a/resources/packages/dependencies/install
+++ b/resources/packages/dependencies/install
@@ -50,21 +50,21 @@ fi
# as for instance Trisquel 10 has ID_LIKE=debian and not
# ID_LIKE=ubuntu.
if is_base_distro "trisquel" ; then
- "$(dirname $0)"/../../dependencies/trisquel $@
+ "$(dirname $0)"/../../dependencies/pureos-trisquel $@
exit $?
elif is_base_distro "pureos" ; then # PureOS doesn't have ID_LIKE
- "$(dirname $0)"/../../dependencies/pureos-10 $@
+ "$(dirname $0)"/../../dependencies/pureos-trisquel $@
exit $?
fi
if is_base_distro "arch" ; then
"$(dirname $0)"/../../dependencies/arch $@
elif is_base_distro "debian" ; then
- "$(dirname $0)"/../../dependencies/pureos-10 $@
+ "$(dirname $0)"/../../dependencies/pureos-trisquel $@
elif is_base_distro "fedora" ; then
"$(dirname $0)"/../../dependencies/fedora35 $@
elif is_base_distro "ubuntu" ; then
- "$(dirname $0)"/../../dependencies/trisquel $@
+ "$(dirname $0)"/../../dependencies/pureos-trisquel $@
elif is_base_distro "void" ; then
"$(dirname $0)"/../../dependencies/void $@
fi
diff --git a/website/pages/docs/build/index.md
b/website/pages/docs/build/index.md
index 19545697..6da11c50 100644
--- a/website/pages/docs/build/index.md
+++ b/website/pages/docs/build/index.md
@@ -158,17 +158,11 @@ to build an image for a specific computer).
To build GNU Boot you must first ensure that all build dependencies
are installed.
-If you are running Trisquel 10 (nabia) you can run the following
-command as it takes care of installing all the required dependencies
-for you:
-
- sudo make install-dependencies-ubuntu
-
-If instead you use PureOS 10 (byzantium) you can use the following
-command instead:
-
- sudo make install-dependencies-pureos-10
+If you are running PureOS 10 (byzantium), Trisquel 10 (nabia) or
+Trisquel 11 (aramo), you can run the following command as it takes
+care of installing all the required dependencies for you:
+ sudo make install-dependencies-pureos-trisquel
You can then build everything with this command:
@@ -232,13 +226,10 @@ First, install build dependencies
---------------------------------
GNU Boot includes a script that automatically installs dependencies in
-Trisquel 10 (nabia):
+various distributions. It has mainly been tested on PureOS 10
+(byzantium), Trisquel 10 (nabia) and Trisquel 11 (aramo):
- sudo ./build dependencies trisquel
-
-and for PureOS 10 (byzantium):
-
- sudo ./build dependencies pureos-10
+ sudo ./build install dependencies
The build script automatically runs all necessary commands; for example
`./build payload grub` will automatically run `./build module grub` if the
diff --git a/website/pages/docs/history/index.md
b/website/pages/docs/history/index.md
index 75bd4381..83c7fa8e 100644
--- a/website/pages/docs/history/index.md
+++ b/website/pages/docs/history/index.md
@@ -131,7 +131,7 @@ So far the copyright headers were verified on the following
files:
aca12bde3f7af5b17969d57f7da1a8d700e0a36f ("website: serve.sh: update
copyright headers.")
-* resources/dependencies/trisquel (details in the commit
+* resources/dependencies/pureos-trisquel (details in the commit
805127f0301294e41a4409a2c9a7d121214a594e ("dependencies: Trisquel
10: Add copyright header.")).
diff --git a/website/pages/docs/install/spi.md
b/website/pages/docs/install/spi.md
index 5121555a..1e968975 100644
--- a/website/pages/docs/install/spi.md
+++ b/website/pages/docs/install/spi.md
@@ -242,13 +242,13 @@ script is also applicable to newer ubuntu versions
./build module flashrom
If the script complains about missing dependencies, just modify the
-resources/dependencies/trisquel script and remove those dependencies.
+resources/dependencies/pureos-trisquel script and remove those dependencies.
The script is written for Ubuntu 20.04, but it should work fine in other
GNU/Linux distributions that use the `apt-get` package manager.
A `flashrom/` directory will be present, with a `flashrom` executable inside
of it. If you got an error about missing package when running the dependencies
-command above, tweak `resources/dependencies/trisquel`. That
+command above, tweak `resources/dependencies/pureos-trisquel`. That
script downloads and installs build dependencies in apt-get and it is intended
for use on x86-64 systems running Ubuntu 20.04, but it should work in Raspbian
on the Raspberry Pi.
--
2.46.0
- [PATCH v1 00/18] Tests cbfs files, dependencies fixes, documentation., Denis 'GNUtoo' Carikli, 2024/11/29
- [PATCH v1 01/18] resources: dependencies: trisquel: skip fonts-unifont for Trisquel 10 (nabia)., Denis 'GNUtoo' Carikli, 2024/11/29
- [PATCH v1 02/18] dependencies: pureos: Fix copyright header., Denis 'GNUtoo' Carikli, 2024/11/29
- [PATCH v1 03/18] dependencies: trisquel: remove unused packagekit-tools., Denis 'GNUtoo' Carikli, 2024/11/29
- [PATCH v1 04/18] dependencies: pureos: remove unused packagekit., Denis 'GNUtoo' Carikli, 2024/11/29
- [PATCH v1 05/18] dependencies: trisquel: obtimize apt calls., Denis 'GNUtoo' Carikli, 2024/11/29
- [PATCH v1 08/18] resources: dependencies: unify PureOS and Trisquel.,
Denis 'GNUtoo' Carikli <=
- [PATCH v1 07/18] dependencies: trisquel: remove duplicated libusb-1.0-0-dev for flashrom., Denis 'GNUtoo' Carikli, 2024/11/29
- [PATCH v1 11/18] dependencies: pureos-trisquel: Add texlive for the website., Denis 'GNUtoo' Carikli, 2024/11/29
- [PATCH v1 13/18] packages: images: tests: add Trisquel test with SeaBIOS., Denis 'GNUtoo' Carikli, 2024/11/29
- [PATCH v1 18/18] website: status: mention reproducible builds status., Denis 'GNUtoo' Carikli, 2024/11/29
- [PATCH v1 17/18] packages: images: tests: require essential cbfs files., Denis 'GNUtoo' Carikli, 2024/11/29
- [PATCH v1 06/18] resources: dependencies: pureos: switch to install_packages., Denis 'GNUtoo' Carikli, 2024/11/29
- [PATCH v1 12/18] dependencies: pureos-trisquel: Add texlive-plain-generic for the website., Denis 'GNUtoo' Carikli, 2024/11/29
- [PATCH v1 10/18] dependencies: pureos-trisquel: Add texinfo for the website., Denis 'GNUtoo' Carikli, 2024/11/29
- [PATCH v1 09/18] dependencies: pureos-trisquel: Add graphicsmagick for the website., Denis 'GNUtoo' Carikli, 2024/11/29